webdevbr 35 Denunciar post Postado Junho 3, 2013 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
Bru_ce 53 Denunciar post Postado Junho 3, 2013 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
Alaerte Gabriel 662 Denunciar post Postado Junho 3, 2013 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
Andrey Knupp Vital 136 Denunciar post Postado Junho 3, 2013 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
Alaerte Gabriel 662 Denunciar post Postado Junho 3, 2013 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
Dorian Neto 41 Denunciar post Postado Junho 3, 2013 O interessante de usar a forma abordada pelo Andrey é que nos da maior controle para tratar erros :) Compartilhar este post Link para o post Compartilhar em outros sites
webdevbr 35 Denunciar post Postado Junho 3, 2013 vlw a tods, tópico Resolvido usarei todas as dicas. Compartilhar este post Link para o post Compartilhar em outros sites