0

$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;
}
4

1 回答 1

17

你是在分配,而不是比较。

if($status = "0") {

==一个比较。

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

于 2012-05-03T14:07:30.723 回答