2012-05-03 112 views
0

$ status返回0,但循环的行为与其“1”相同。这里有趣的是我的错误信息是“MySQL DB正在使用(状态0)”。即使它是真的,我的“if”语句也会返回false,为什么?

换句话说:即使它是真的,我的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; 
} 
+6

您缺少一个等号。 – Jon

+0

'($ status ==“0”)'平等,不分配! –

+0

使用“等号”符号:'if($ status ==“0”)' –

回答

17

您正在分配,而不是比较。

if($status = "0") { 

作出该==作比较。

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

+0

QQ omg noob me; D –

+1

您应该解释为什么'$ status =“0”'也会计算为'false'。 – Jon

+0

@Jon注意。感谢您的建议。 – Wiseguy

相关问题