如何根据爆炸变量(数组)运行具有多个where子句的查询?
$original = "123,44,55,66";
$exploded = explode(",", $original);
foreach($exploded as $var)
{
$query = $mysqli->query("SELECT name FROM my_table WHERE id = $var");
}
我不想为查询本身使用foreach循环,因为它使用了大量资源并且大大减慢了页面的加载时间,那么如何实现呢?
答案 0 :(得分:3)
您可以在查询中进行检查,这样您就可以获得没有foreach循环的结果
查询:
$mysqli->query("SELECT name FROM my_table WHERE id in (123,44,55,66) ");
答案 1 :(得分:3)
根据您的代码,每次您的查询被覆盖时,您将获得最后选择的数据。您可以使用IN
运算符获得结果
相反,试试这个: -
$original = "123,44,55,66";
$query = $mysqli->query("SELECT name FROM my_table WHERE id in ($original)");