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: 450
    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!