我遇到了mysqli :: query函数的一些奇怪行为。我试图执行一个查询,并发现结果总是计算为true,即使查询应该返回 FALSE 。
if($result = $mysqli-> query("SELECT id,name,password FROM
xxx
WHERE name
='$name' AND password
='$password' LIMIT 1"))
{
// I always end up here
}
我是mysqli的新手,但查询不应该在空结果集上返回 FALSE 吗?
答案 0 :(得分:1)
一旦查询在语法上正确并且DBMS正确运行 - 它总是会返回结果。零行结果集仍然是结果。
在您的情况下,您需要检查0 - 不正确的凭据,1 - 正确