MySql'或'运算符不工作

时间:2013-12-24 18:04:26

标签: php mysql

我想使用电子邮件或用户名从我的数据库中选择用户,我的代码是:

$sql = "SELECT * FROM `users` WHERE (`Email`='".$User."' OR `Username`='".$User."'') AND `Password`='".$Password."'";

我的代码工作

代码:

$sql = "SELECT * FROM users WHERE (Email = '$User' or Username ='$User') AND Password='$Password'";

2 个答案:

答案 0 :(得分:2)

注意:我会在评论中发布此内容(相信我),因为评论框没有正确显示反引号(我知道有一个技巧) ,但我不知道,。)

使用此:

$sql = "SELECT * FROM `users` 
WHERE (`Email`='".$User."' OR `Username`='".$User."') 
AND `Password`='".$Password."'";

'".$User."''

中有太多引号
$sql = "SELECT * FROM `users` 
WHERE (`Email`='".$User."' OR `Username`='".$User."'') 
                                                ----^
AND `Password`='".$Password."'";

脚注:如果您稍微有可能使用现已弃用的mysql_*函数,请停止并开始使用带有预准备语句的mysqli_*函数和/或PDO。


答案 1 :(得分:0)

试试这个:

$sql = "SELECT * FROM `users` WHERE (`Email`='".$User."' OR `Username`='".$User."') AND `Password`='".$Password."'";

$ user变量后有一个额外的报价。