我意識到有很多帖子都是從選擇中獲取PDO中的行數。PDO - 行數 - 這是最短路嗎?
但是...我試圖儘可能少的行數,並且仍然可以在循環中使用記錄集。這怎麼樣?
$sql = "SELECT Name FROM my_table WHERE LastName = 'Wilson' ";
$stmt = $conn->query($sql);
$stmt->setFetchMode(PDO::FETCH_ASSOC);
$row_count = count($stmt->fetchAll());
$stmt = $conn->query($sql);
foreach ($stmt as $row) {
echo $row['Id'];
}
我試過這麼多的組合...但我似乎必須在$語句= $ conn->查詢($ SQL)翻倍;能夠使用循環後?這可以改善嗎?
總之一句話:糟透了。你執行兩次相同的查詢,並且將所有數據都提取兩次,一次甚至全部存入內存。 – deceze
這很糟糕。你是1)做'SELECT *',這是不好的形式,2)你將所有的數據拉兩次。只需使用COUNT(*)來獲取行數。 –
...並且沒有'WHERE'子句,如果這些表正在運行INNO引擎,那麼這真的很糟糕。 – DanMan