数据库很好,但我不知道为什么$ ROW无法识别为NULL。

我有以下代码:

$pdo = new PDO("mysql:host=" . $this->hostname . ";dbname=" . $this->dbname, $this->username, $this->password);

foreach($pdo->query('SELECT * FROM people WHERE name="Joshua"') as $row):
    if($row['name'] != NULL):
        echo "WE HAVE ONE JOSHUA";
    else:
        echo "WE DO NOT HAVE ANY JOSHUA";
    endif;
endforeach;


当我运行此脚本时,我收到:“ WE HAVE ONE JOSHUA”消息;

当我在PDO-> QUERY中将name =“ Joshua”更改为数据库中不存在的名称时,我没有收到“我们没有任何约书亚”的消息;

有任何处理建议吗?

我只想创建一个控制FOREACH返回NULL或NOT的语句。

在此先感谢并说不好的英语。

最佳答案

这个怎么样?

foreach($pdo->query('SELECT COUNT(*) totalCOunt FROM people WHERE name="Joshua"') as $row):
    if($row['totalCOunt'] != 0):
        echo "WE HAVE ONE JOSHUA";
    else:
        echo "WE DO NOT HAVE ANY JOSHUA";
    endif;
endforeach;

08-15 19:48