为这个问题的生疏道歉。我刚开始一个项目,我有一个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移到底部(循环外部)

10-07 12:33