Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Alô galera! É o seguinte... Deve ser algo bem iniciante, mas resolvi bolar um código na hora de cadastrar um usuário pra retornar um erro caso já exista algum usuário com o mesmo nome.
Eu pensei em fazer uma consulta no SQL pelo nome que o futuro usuário escolheu, e caso esta consulta não retornasse nenhum valor (0) o registro seria efetuado, caso contrário não.
Sem lenga-lenga, aqui vai a parte que interessa do código:
include "conec.php"; // conecta e seleciona a tabela[/color]
$nome = $_POST['nome'];
$checkn = "SELECT * FROM usuarios WHERE nome = '$nome'";
$sqlcheckn = mysql_query($checkn) or die("blablabla");
if ($sqlcheckn == 0) {echo "<meta HTTP-EQUIV='Refresh' CONTENT='1;URL=erroregistro.php'>"; [color="#808080"]// redireciona pra página de erro
}
Agora eu não sei se essa minha espera por um valor zerado é plausível ou se estou viajando aqui, porque eu sempre sou redirecionado para a página de erro.
Kra,
Na hora de criar os campos no banco de dados SQL, existe ja opção para UNIQUE, faz com que o proprio SQL ja retorne um erro caso exista o usuario cadastrado...
olha o link ai -> http://www.w3schools.com/SQl/sql_unique.asp
Espero ter ajudado
flw
Resolvido! O meu raciocínio não estava errado... Mas o comando que retorna o valor que eu esperava receber é realmente o mysql_num_rows.
Deixarei aqui o código que pode ser útil para alguém:
include "conec.php"; // conecta e seleciona a tabela
$nome = $_POST['nome'];
$checkn = "SELECT * FROM usuarios WHERE nome = '$nome'";
$sqlcheckn = mysql_query($checkn);
$rowsn = mysql_num_rows($sqlcheckn);
if ($rowsn == 0) { echo "<meta HTTP-EQUIV='Refresh' CONTENT='1;URL=erroregistro.php'>"; // redireciona pra página de erro
}foi util pra min vlw!
Para obter a quantidade de linhas de um resultado você deveria usar mysql_num_rows() ( http://br2.php.net/mysql_num_rows ).
Entenda melhor os retornos possíveis da função mysql_query() consulta http://br2.php.net/mysql_query .