Diana Madeira Posted April 1, 2017 at 08:21 PM Report #603469 Posted April 1, 2017 at 08:21 PM Boa Noite Estou a criar um formulario de registo e estou quase no fim. para finalizar necessito de ter um código que verique se já existe ou não um usuario com pelo menos o mesmo email. Creio que consegui isso, mas invez de aparecer a messagem de erro que escrevi,aparecer simplesmente uma mensagem a dizer "duplicate entry....". Alguém me que possa ajudar sff? deixo aqui o código: $sql= "INSERT INTO registo (name, surname, email, doornumber, road, postcode, password) VALUES('".$name."','".$surname."', '".$email."', '".$doornumber."', '".$road."', '".$postcode."', '".$password."')"; $result=mysqli_query($conn,$sql); if(!$result){ die (mysqli_error($conn)); } else if (mysqli_affected_rows($conn)==0){ echo "User already exists"; } else { echo '<h3><font color="red">You have successfully registered </font></h3>'; } Obrigado
13dev Posted April 1, 2017 at 10:11 PM Report #603470 Posted April 1, 2017 at 10:11 PM (edited) Aqui está uma possível solução: $sql= "SELECT * FROM registo WHERE email='".$email."'"; $result = mysqli_query($conn,$sql); if(!$result){ die (mysqli_error($conn)); } else if (mysqli_num_rows($result) > 0){ echo "User already exists"; } else { echo '<h3><font color="red">You have successfully registered </font></h3>'; } Edited April 2, 2017 at 10:46 AM by 13dev Erro no sql
devgoncalo Posted April 3, 2017 at 09:04 AM Report #603477 Posted April 3, 2017 at 09:04 AM ola "duplicate entry...." significa que estás a tentar inserir na base de dados um registo com um id que já existe, nomeadamente se um dos campos for primary key. normalmente podes colocar este campo como auto increment para evitar esta situação cumps
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now