php - Mysql NULL字段和php isset?

标签 php mysql null

我的 mysql 字段中有数据 NULL

但是在 php 中,当将数据放入数组时,我为什么可以在不首先使用 php 的 isset 的情况下比较它的值?

示例,

$var = null;

if ($var == 123123) // GENERATES ERROR AS DIDN'T CHECK IF IT WAS SET FIRST

但是在mysql中

$q = $dbc -> prepare("SELECT nullColumn FROM table_1");
$q -> execute();
$null = $q -> fetch(PDO::FETCH_ASSOC);
if ($null['nullColumn'] == 2312312) // DOESN'T GENERATE ERROR EVEN THOUGH VALUE IS NULL

我还在该值上使用了var_dump,它返回NULL

最佳答案

$var = null;

if ($var == 123123) // GENERATES ERROR AS DIDN'T CHECK IF IT WAS SET FIRST

这个前提是错误的!上面的代码不会生成错误,因为变量$var存在。

尝试使用存在的变量(即尚未在任何地方声明的变量)会生成错误。尝试使用值为 null 的已声明变量是完全合法的。

参见The Definitive Guide To PHP's isset And empty深入研究这个主题。

关于php - Mysql NULL字段和php isset?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9560001/

相关文章:

php - 批量删除没有特色图片的 WooCommerce 产品

php - 在一列mysql中使用一个where条件查找多个值

sql-server-2005 - 计算位列返回另一列是否为空

mysql - HOUR() 在 MySQL 中返回 NULL

php - 在 MSSQL 中测试一个字符串是否包含另一个字符串的最有效方法是什么?

php - 使用 PHP 将数据库中的数据输出到下拉框中

php - 如何在laravel php中使用ajax根据日期范围从mysql数据库检索数据?

mysql - 在mysql中设置一般查询日志

mysql - 无法将值插入表中

c - 在 C 中递增 NULL 指针