我在数据库中有一张表。它包含 3 列:ID、名称、类型。我的 PHP 脚本中有一个数组,其中包含其中一些 ID(不按任何顺序,可能重复)。我想从表中回显那些我在数组中有 ID 的项目。我尝试使用 for 循环执行此操作:
$items = array(1, 8, 5, 3, 2, 1, 5, 5);
for ($i=0; $i < count($items); $i++) {
$query = mysqli_query($connect, "SELECT * FROM weapons WHERE id='$items[$i]'");
$row = $query->fetch_assoc();
echo $row['name'] . ', ' . $row['type'];
}
我认为在循环中使用调用查询不是好的做法,因为如果循环太大,可能会减慢处理速度。如果不将查询置于循环中,我怎样才能获得相同的结果?
最佳答案
为此使用IN
关键字
$query = mysqli_query($connect, "SELECT * FROM weapons WHERE id IN (1, 8, 5, 3, 2,5) ");
关于php - 通过更改为单个查询而不是将其放入循环中进行优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39672748/