涨知识,涨知识 :ThinkPHP框架下Where条件查询Mysql数据库某字段是否为空

代码虐我千百遍,我对代码如初恋~

问题:

查询某字段app_date数据是否为NULL,正常我们实现的办法是:

$map['app_data'] = array('eq','null');
$data = M("Info") -> field("*") -> where($map) -> select()

 利用echo  M("Info")->getLastSql();  打印sql语句如下:

SELECT `id`,`name`,`create_time`,`app_data` FROM `info` WHERE `app_data` = 'NULL'

但是打印出来的sql语句并不是我想要的呀,搞毛呀,修改测试,修改测试,总是达不到我想要的正确的sql语句,如下正确的:

SELECT `id`,`name`,`create_time`,`app_data` FROM `info` WHERE `app_data`is NULL

解决办法总是有的,办法为啥,看文档呀,翻遍文档在最底下看到如下内容

正确判断方法:

$map['app_data'] = array('EXP','is NULL');
$data = M("Info") -> field("*") -> where($map) -> select();

打印sql语句:

SELECT `id`,`name`,`create_time`,`app_data` FROM `info` WHERE `app_data`is NULL

完美~~~~~~~

原文地址:https://www.cnblogs.com/wenzheshen/p/6958632.html