Ir para conteúdo

POWERED BY:

Arquivado

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

webdevbr

Checar se usuario já existe na DB antes de cadastrar

Recommended Posts

olá, uso mysqli e tenho um sistema funcional de login e cadastro, mas estou com um problema na hora de criar um cadastro o meu código não checa se existe um usuario na DB como faço isso??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiro faça uma consulta e verifica se ele encontra algum linha:

 

 

$email = $_POST['email'];
 
$consulta = mysql_query("SELECT * FROM tabela WHERE email='$email'");
$linha = mysql_num_rows($consulta);
 
 
if($linha == 0){
// o usuário não existe, faça a inserção do mesmo;
}
else
{
// o usuário existe;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

A forma mais eficaz é com COUNT.

 

 

 




$contar = mysqli_query("SELECT COUNT(*) AS total FROM tabela WHERE campo='usuario'");


if(mysqli_result($contar,0,'campo')==1)
{

// mensagem de existencia de usuario

}else{

// cadastra o usuario... INSERT INTO...


}

Compartilhar este post


Link para o post
Compartilhar em outros sites

A forma mais eficaz, utilizada por mim, é definir a coluna como UNIQUE e verificando o código do erro, se for 23000, na hora de executar o INSERT, isso quer dizer que o valor em questão está duplicado.

 

:seta: http://dev.mysql.com/doc/refman/5.5/en/connector-j-reference-error-sqlstates.html

:seta: http://php.net/manual/pt_BR/function.mysql-errno.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aí entra a questão da "modelagem". Uma boa modelagem já deve ter campos únicos definidos como UNIQUE, seu método é válido, porém, prefiro complementar ainda com o count.

Compartilhar este post


Link para o post
Compartilhar em outros sites

vlw a tods, tópico Resolvido usarei todas as dicas.

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.