MySQL使用WHERE和OR

时间:2014-02-27 12:06:03

标签: php mysql

我允许用户在输入密码之前输入用户名,帐号或电子邮件地址,所以我需要将他们的输入与我表中的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'");

4 个答案:

答案 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编号,根据你可以传递值