我将尝试查询数据库中的记录,其中“product_id”包含在产品ID数组中。
该数组是多选输入(
我想把这个数组传递给一个SQL语句的“IN”子句,如下所示:
该数组是多选输入(
<select>
)的邮寄结果,看起来像:$clients =
Array (
[0] => 80000016-1302638679
[1] => 8000003B-1329924004
)
我想把这个数组传递给一个SQL语句的“IN”子句,如下所示:
$sql = "SELECT * FROM sales WHERE product_id IN (".$clients.")";
...但是这样做不起作用(错误:Message: Array to string conversion
)。
一些帖子建议使用此函数以适合SQL的方式格式化数组:
function format_array($array){
return implode(', ', $array);
}
}
Such as ...
$sql = "SELECT * FROM sales WHERE product_id IN (".format_array($clients).")";
这导致了以下查询:
SELECT * FROM sales WHERE product_id IN (80000016-1302638679, 8000003B-132992400)
......和以下错误:
where子句中的“8000003B”列未知
我做错了什么?非常感谢任何帮助!如果需要,我可以澄清问题 :)