Array
(
)

Como saber se um insert com pdo deu erro?

Samuel Lopes
|
MVP
Pontos: 25
    12 set 2016

Como ao executar um insert no PDO eu sei se o mesmo ocorreu um erro e como retornar este erro?
#Código
$sql = "insert into cupons
(compra)
values(:compra)";
$stmt = $this->db->prepare($sql);
$stmt->bindParam(":compra", $compra, PDO::PARAM_INT);
$stmt->execute();

Marcelo Santana
|
MVP
Pontos: 550
    12 set 2016

Boa tarde, Samuel!!
Quando um insert da certo, o "$stmt->execute()", retorna 1 para você, caso contrário retorna vazio.. para captura o erro, você pode utilizar "$stmt->errorInfo()".. Faz com esse teste abaixo.. Para testar ok..

#Código
if($stmt->execute()){
echo("Registro adicionado com sucesso!!!") ;
}else{
echo("Error ao adicionar novo registro: ");
print_r($stmt->errorInfo());
}



Espero ter ajudado!
Abraço,
Marcelo Queiroz.

Samuel Lopes
|
MVP
Pontos: 25
    12 set 2016

Muito Obrigado pela resposta!