php比较运算符无法按预期工作

时间:2013-10-03 09:27:39

标签: php mysql

我有一个非常奇怪的问题。我的代码:

 $sql = "SELECT emailIsConfirmed FROM userdatabase.user where username = '".mysqli_real_escape_string( $db, $username ) ."'";
    $result = mysqli_query($db, $sql);
    var_dump(mysqli_fetch_array($result)[0]);
    var_dump("1");
    if((mysqli_fetch_array($result)[0]) == "1")
    {
        return true;
    }
    return false;

不起作用。即使输出看起来像这样:

string(1) "1" 
string(1) "1"

结果是假的......为什么?

我想这是一个非常愚蠢的错误。 谢谢你的帮助

2 个答案:

答案 0 :(得分:2)

mysqli_fetch_array第二次调用尝试获取结果的第二行。 评论您的var_dump,它应该有用。

答案 1 :(得分:0)

结果来自:

var_dump(mysqli_fetch_array($result)[0]);
var_dump("1");

这意味着if((mysqli_fetch_array($result)[0]) == "1")是真的。

删除var_dump()次调用,除非您要调试数据库结果