php - 我的 "if"语句返回 false 即使它是 true,为什么?

标签 php mysql

$status 返回 0,但循环就像它的“1”一样。有趣的是我的错误消息是“MySQL DB is in use (status 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;
}

最佳答案

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

if($status = "0") {

制作== 进行比较。

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

关于php - 我的 "if"语句返回 false 即使它是 true,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10433093/

相关文章:

php - 从 php 代码中禁用文本框

mysql - 创建 mysqldump 以备份数据库

mysql - 检查两个表中是否存在相同值的查询,如何组合两个查询

php - 防止从 MySQL 和 PHP 发送重复记录

php - 每次我发送表单时都会清除数组

php - MySQL JOIN 2个表并分别获取两个表的总和

php - SQL 排序规则不起作用

php - 我从哪里开始更改主页?

utf8_swedish_ci 的 mysql 字符长度

mysql - Django 查询集复杂查找