我正在尝试在数据库中查询“product_id”包含在产品 ID 数组中的记录。
该数组是多选输入 ( <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);
}
}
如 ...
$sql = "SELECT * FROM sales WHERE product_id IN (".format_array($clients).")";
这将导致此查询:
SELECT * FROM sales WHERE product_id IN (80000016-1302638679, 8000003B-132992400)
...和这个错误:
Unknown column '8000003B' in 'where clause'
我究竟做错了什么?任何帮助是极大的赞赏!如果需要,我可以澄清这个问题:)