我认为这与各种重复的问题不同,因为不完全解决这个用例,我的最终解决方案可能对某人有用。
按照建议在PHP中使用准备好的MYSQL语句。
$id_array = array(1,2,3,4)
$id_array = implode(', ', $id_array);
SELECT * FROM Table WHERE Id NOT IN ? LIMIT ?
mysqli_stmt_bind_param($stmt, 'si', $id_array, $limit);
如果我删除第一个绑定并将其放入SQL语句中,则查询工作正常。但是我正在用逗号分隔值的绑定做一些正确的事情,将它传递到ID列表到MYSQL查询的NOT IN
部分。
最终,我的解决方案需要构建一个函数来动态构建一个传递到params
函数的call_user_func_array
数组。