所以我想知道使用WHERE搜索数据库的最有效方法是什么。
如果我有var等
$conditions = "1,3,4,9"
这些int中的每一个都引用表的主id。那么从mysql中选择这些行的最佳方法是什么呢?
for($i = 0; $i < strlen($conditions); $i++)
{
if($conditions[$i] == ',')
continue;
$conn->prepare('select * FROM table WHERE id= $i');
}
我正在考虑做一些上面的事情,我相信会有更有效的方式。
聚苯乙烯。我知道上面的代码不会起作用,我错了,这只是我写的一个例子。
感谢您的建议。
答案 0 :(得分:0)
您正在寻找的功能是find_in_set:
select * from ... where find_in_set($conditions, id)
答案 1 :(得分:0)
将字符串转换为数组:
$conditions = explode(",","1,3,4,9");
foreach($conditions as $id){
$conn->prepare('select * FROM table WHERE id= $id');
}