【发布时间】:2014-06-06 17:45:08
【问题描述】:
在一个 MySQL 查询中获取多行的最佳方法是什么。
我有一个 ID 数组:
$id_array = array('34','341','342','334','344','354','3234','33234','3234','3234');
我想从我的 mysql 数据库中获取与这些 id 关联的标题。
我有两种方法:
1) 示例:
foreach($id_array as $id){
$query = mysqli_query($con, "SELECT title FROM content WHERE id = '$id'");
$id_db = mysqli_fetch_row($query);
echo $id_db['title'];
}
2) 示例:
$query = mysqli_query($con, "SELECT title FROM content WHERE id = '$id_array[1]' AND id = '$id_array[2]' AND id = '$id_array[3]' AND 'id = $id_array[4]' AND id = '$id_array[5]'");
while($result = mysqli_fetch_assoc($query)){
echo $result['title'];
}
我在高负载网站上工作,并希望使用最佳解决方案。 上面的代码不是 100% 完整的,它只是这个想法的原始实现。 数组元素的数量可以从 1 到 1k。
【问题讨论】:
-
不是
id你的主键吗? -
第二个示例无法通过
AND使用,请改用OR或IN() -
是的,id 是唯一的,增量 id。
-
在数组方法man中使用mysql
-
您的第二个示例不起作用 - 因为您使用
AND而不是OR。但是绑定参数呢? Read more