我有一个数据库,用户可以在其中搜索包含一个或多个项目列表的记录.我正在使用IN进行搜索,但我无法使用IN来处理预准备语句.这就是我尝试过的:
SELECT * FROM tbl1 WHERE col IN (?)
但是准备好的声明将我传递的项目列表视为单个项目.我怎样才能做到这一点?
我正在使用sqlite,如果它有任何区别.
你不能这样做,因为你不能绑定到一个数组.
你必须分两步完成:
用一个'?'创建SQL 数组或列表中的每个值.
循环遍历数组或列表并绑定每个值.
无论数据库如何都是如此.
您没有说明子SELECT是否可以是更好的解决方案,但如果有问题的值在另一个表中可用,也许可以使其工作.