动态地发表声明

时间:2018-05-09 12:07:26

标签: php mysql

所以我想知道使用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');
}

我正在考虑做一些上面的事情,我相信会有更有效的方式。

聚苯乙烯。我知道上面的代码不会起作用,我错了,这只是我写的一个例子。

感谢您的建议。

2 个答案:

答案 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');
}