Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

matheusmarson

Tratamento de erros com PDO php

Recommended Posts

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á

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.