对于这个问题的新颖性,我们深表歉意。我刚开始一个项目,我有一组 ID 可以从表中获取某些记录。解决此问题的最佳方法是什么?
以下是否有效?
public function getWork($slideIDs) {
$params = array();
$params = $slideIDs;
$count = count($params);
for($i=0;$i<$count;$i++) {
$STH = $this->_db->prepare("SELECT *
FROM slides
WHERE slideID = :slideID;");
$STH->execute($params[$i]);
}
$result = $STH->fetchAll(PDO::FETCH_ASSOC);
return $result;
}
谢谢。
最佳答案
最好只使用 IN 子句执行一条 SQL 语句
SELECT * FROM slides WHERE slideID IN (1,2,3,4,5, ...)
因为较少的连接和访问数据库通常有利于提高性能。
因此只需在循环中构建该 SQL 字符串,然后将 Execute 移动到底部(在循环之外。)
关于php - 从 ID 数组获取数据库结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10606062/