Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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??
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...
}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
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.
O interessante de usar a forma abordada pelo Andrey é que nos da maior controle para tratar erros :)
vlw a tods, tópico Resolvido usarei todas as dicas.
Primeiro faça uma consulta e verifica se ele encontra algum linha:
else {