Ir para conteúdo

Arquivado

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

eduardoherden

mysqli_errno Insert Campo Unique Key

Recommended Posts

Olá

 

seguinte , antigamente usava a classe mysql para fazer a conexão com o banco de dados.

Com o tempo vi que o mysqli é mais seguro.

 

Só que me deparei com um problema.

 

Tenho uma tabela no banco de dados que o usuario cadastra o cpf ou cnpj e é um campo "unique key" .

Caso tenha ja um cpf igual na tabela , ele acusa erro e não cadastra na tabela

 

Com a classe padrao no mysql eu fazia assim.

 

if (!mysql_query("INSERT INTO cadastro_func(nome, cpf, email, senha, datanasc, sexo, estado, cidade, cep, endereco, telefone, cargopretendido, salario, termos, datacad, ip, linkedin, facebook) VALUES ('$nome', '$cpf', '$email', '$codificada', '$dataN', '$sexoCad', '$estado', '$cidade', '$cep', '$endereco', '$telefone', '$cargo', '$salario', '$termos', '$dataCad', '$ip', '$linkedin', '$facebook')",$conecta)) {
		if(mysql_errno($conecta) == 1062 AND strpos(mysql_error($conecta), 'cpf')){
			$ses['nome']	= $nome;
			$ses['cpf']		= $cpf;
			$ses['email']	= $email;
			$ses['datanasc']= $dataN;
			$ses['sexocad'] = $sexoCad;
			$ses['cep']		= $cep;
			$ses['endereco']= $endereco;
			$ses['telefone']= $telefone;
			$ses['cargo']	= $cargo;
			$ses['salario']	= $salario;
			$ses['linkedin']= $linkedin;
			$ses['facebook']= $facebook;
			$_SESSION['sessaoCadastroUsuario'] = $ses;
			echo '<h1>Ja existe o mesmo cpf no banco de dados!</h1>';
		}else{
			echo mysql_errno($conecta) .' : '. mysql_error($conecta);
		}
	}else{
		echo '<h3>Cadastrado!</h3>	';
	}

 

 

Agora com a classe mysqli eu não faço nem ideia como fazer com os if's

 

Meu codigo de conexão está assim

 

$salvar = $mysqli->prepare("INSERT INTO pt_admin_site(tipo, nome, login, email, senha, nivel, datacad, dataniver, cpfcnpj) VALUES (?,?,?,?,?,?,?,?,?)");
$salvar->bind_param('sssssisss',$tipo,$nomeUsuarios,$loginUsuarios,$emailUsuarios,$codificada,$nivelUsuario,$data,$dataNiver);
$salvar->execute();
$salvar->close();

 

Se houver uma luz, eu agradeço!

 

Tks

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá pessoal, agora com mais calma

ja que esse projeto estava me deixando louco

 

Arrumei uma formula e vi que era barbada

como o "bind-param retorna um boleano é só verificar se retorna true or false

caso for false

é só ver o erro que ele retorna

que no meu caso seria o 1062, pra coluna duplicada

qualquer coisa , me envie pm que mostro o codigo

Compartilhar este post


Link para o post
Compartilhar em outros sites

HAHAHAHAHAHHAHHAHA

 

 

neguinho se achou demais né na resposta @douglas_fernandess

 

só por levar um mata-leao

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.