我允许用户在输入密码之前输入用户名,帐号或电子邮件地址,所以我需要将他们的输入与我表中的3个字段进行比较,但我没有得到任何结果。
我第一次尝试了这个......
$result = mysqli_query($con,"SELECT * FROM useraccounts WHERE username='$thisuser' or accnum='$thisuser' or email='$thisuser'");
然后我在这里读到括号应放在OR语句周围,所以尝试了这个......
$result = mysqli_query($con,"SELECT * FROM useraccounts WHERE (username='$thisuser' or accnum='$thisuser' or email='$thisuser')");
但是没有工作,有人可以帮忙吗
仅用于比较,当我输入用户名值...
时,这确实有效$result = mysqli_query($con,"SELECT * FROM useraccounts WHERE username='$thisuser'");
答案 0 :(得分:1)
accnum的数据类型是什么?你确定它是varchar吗?
如果accnum的类型为数字,请尝试
$result = mysqli_query($con,"SELECT * FROM useraccounts WHERE (username='$thisuser' or accnum=$thisuser or email='$thisuser')");
答案 1 :(得分:0)
似乎没问题。请检查'$ thisuser'是否有价值。尝试打印sql语句。 您可以尝试直接在数据库上运行查询。
答案 2 :(得分:0)
我还认为首先检查$thisuser
的值,然后尝试以下查询
$result = mysqli_query($con,"SELECT * FROM useraccounts WHERE (username='".$thisuser."' or accnum='".$thisuser."' or email='".$thisuser."')");
答案 3 :(得分:0)
然后在服务器端使用Rathere,如果它在js文件中的客户端完成,则通过检查emailid或用户名oraccount编号,根据你可以传递值