IN 询条件为空导致的 sql 语法错误

浏览:753 发布日期:2017/03/20
5.0.0 - 普通 - 未处理
关于 TP5 修复的

修正 IN / NOT IN 型查询条件为空导致的 sql 语法错误;
代码是
$whereStr .= $key . ' ' . $exp . ' (' . (empty($zone) ? "''" : $zone) . ')';

其实这里的使用了IN的话 如果 in条件为空 那么不应该是 in(''),因为有些数据是可能会为空 但是我要查询 比如以下数据
1,2,3,2,1,'','','','','',;
这一列数据默认是空 但是需要的时候会加上编号 使用in如果in的条件为空,那么默认生成了in(''),然后就查询出了为""的数据,
建议进行以下修改
$whereStr .= $key . ' ' . $exp . ' (' . (empty($zone) ? "'this is thinkphp'" : $zone) . ')';
评论(
后面还有条评论,点击查看>>