小编典典

如何管理空IN sql查询?

sql

$ids = array(1,2,3);
$in = implode(',',$ids);

$query = "SELECT * FROM user where user_id IN ($in) ";

查询工作没问题。但是什么时候$ids是空数组$ids = array();

我正确地得到了sql查询错误,因为SELECT * FROM user where user_id IN ()这不是有效的查询。

如何在不检查空数组的情况下避免这种情况,即无论如何都使查询运行?


阅读 160

收藏
2021-04-22

共1个答案

小编典典

最好的管理方法是:

$in = implode("','",$ids); // generate like 1','2
$query = "SELECT * FROM user where user_id IN ('$in') "; //  if has  1','2 surrond it with quote make it IN('1','2') and if empty than IN('')

这样可以避免您使用if / else结构和其他所有内容

2021-04-22