有人可以帮助我检查为什么我的查询不断返回用户,尽管我输入了一组新数据?代码应该正确吗?我已经测试了此代码一段时间,但看不到它出现在哪里。
该请求是从应用程序发送的,然后通过帖子获取数据。但是,有些事情阻止了我插入新行。
$checkuserexistsquery = "SELECT email, phone FROM users WHERE email='$email' OR phone='$phone'";
$insertuserquery = "INSERT INTO users (firstname,lastname,dateofbirth,phone,email,password) VALUES ('$firstname','$lastname','$dateofbirth','$phone','$email','$password')";
$checkuserexistsresults = mysqli_query($conn,$checkuserexistsquery);
if($checkuserexistsresults===FALSE){
echo "Check user query failed";
}else{
$countcheckuserexistsresults = mysqli_num_rows($checkuserexistsresults);
if($countcheckuserexistsresults>0){
//user already exists
echo "User already exists";
}else{
//user doesn't exist
$insertuserresults = mysqli_query($conn,$insertuserquery);
if($insertuserresults===FALSE){
echo "Insert user query failed";
}else{
echo "Insert successful";
}
}
}
mysqli_close($conn);
从评论中,我认为您应该确认$email
和$phone
是否应该是您想要的正确的。您可以在将其加入$checkuserexistsquery
之前echo
或var_dump
。我认为也许您在代码中的其他地方分配了email: test@test.com
或phone: 12345
的值,因为我看不到代码中的任何逻辑错误。