我的“if”语句即使是真的也会返回false,为什么?

时间:2012-05-03 14:06:10

标签: php mysql

$ status返回0,但循环的作用类似于“1”。这里有趣的是我的错误信息是“MySQL DB正在使用(状态0)”。

换句话说:我的if语句即使失败也是如此。

哪里出错?

include 'status_check.php'; //it takes $check from MySQL DB
if($status = "0") { //if status is 0 go on
    include 'status_1.php'; //set status to 1
            ...
    include 'status_0.php'; //after finished operation set status back to 0
} else { //if status is 1 say that its 1
    echo "MySQL DB is in use (status ". $status .")";
    die;
}

1 个答案:

答案 0 :(得分:17)

你要分配,而不是比较。

if($status = "0") {

==作为比较。

因此它是错误的,因为字符串“0”在PHP中被视为“虚假”值。 文档:http://php.net/boolean#language.types.boolean.casting