Tratamento de erros com PDO php
Olá a todos
Tenho a seguinte situação
Tenho uma tabela que tem dois campos chaves primaria que devem ser únicos na tabela
Seriam email e cpf que devem ser unicos para cada cliente
Gostaria de saber como faço o tratamento do erro para identificar qual dos campos está duplicando quando o usuário faz seu cadastro no BD
Meu código é o seguinte:
$PDO->beginTransaction();
$sql = "INSERT INTO clientes (tipo, cpf, rg, nome, login, senha, data_nascimento, sexo, status, informativos, data_cadastro) VALUES (:tipo, :documento1, :documento2, :nome, :email, :senha, :data_nascimento, :sexo, '1', :news, :data)";
$stmt = $PDO->prepare($sql);
$stmt->bindParam(":tipo", $tipo);
$stmt->bindParam(":documento1", $documento1);
$stmt->bindParam(":documento2", $documento2);
$stmt->bindParam(":nome", $nome);
$stmt->bindParam(":email", $email);
$stmt->bindParam(":senha", $senha);
$stmt->bindParam(":data_nascimento", $data_nascimento);
$stmt->bindParam(":sexo", $sexo);
$stmt->bindParam(":news", $news);
$stmt->bindParam(":data", $data);
$result = $stmt->execute();
if (!$result){
// aqui deve ser tratado o erro e identificar qual dos 2 campos já existe na tabela
die('Erro ao cadastrar usuario');
}else{
$id_cliente = $PDO->lastInsertId();
$_SESSION["user_login"] = $email;
$_SESSION["user_nome"] = $nome;
$_SESSION["ErrorAdmin"]="";
}
$PDO->commit();
Alguém sabe alguma forma de fazer isso?
Obrigado desde já
Discussão (1)
Carregando comentários...