我一直有一个问题比较两个整数在MySQL
查询,它没有找到任何结果,但应该是。我正在使用的查询:
"SELECT * FROM users
WHERE var1 = '" . $variable1 . "'
AND var2 = '" . $variable2 . "'
AND var3 = 3"
如果我离开AND var3 = 3
位,它工作得很好,但是有了它,它不会返回任何结果。
在数据库中,var3
存储为tinyint
,并且为了测试目的,目前每个用户的值都为3。我是不是漏掉了什么?如有任何帮助,不胜感激。
您应该使用PDO或mysqli,以便您可以绑定参数并避免注入。在我看来,这也使它更容易阅读。
$sql = 'SELECT * FROM users
WHERE var1 = ?
AND var2 = ?
AND var3 = 3';
$sth = $dbh->prepare($sql);
$sth->execute(array($variable1, $variable2));
这也避免了像在整数值中添加单引号这样的错误。
这是关于你的var1和var2,如果他们是字符串或int
在你的php文件尝试让$variable1
和$variable1
像integers
like that
$variable1 = INTVAL($variable1) ;
$variable2 = INTVAL($variable2) ;
和在你的查询中这样做
"SELECT * FROM users
WHERE var1 = $variable1
AND var2 = $variable2
AND var3 = 3"
然后在sql