在PHP PDO 中檢索行計數
與MySQLi 的num_rows 變數不同,PHP PDO 缺乏一種簡單的方法來確定由選擇查詢。這就引出了一個問題,是否有另一種方法可以在不訴諸 count($results->fetchAll()) 的情況下計算行數?
PDO 的rowCount 方法
PDO規範包括PDOStatement->rowCount方法;然而,由於不同資料庫之間的不一致,通常不鼓勵在這種情況下使用它。如手冊中所述,rowCount 在應用於 SELECT 語句時通常無法提供準確的計數。
推薦方法
為了避免潛在的錯誤,首選計數方法PHP PDO 中的rows 是發出一個單獨的SELECT COUNT(*) 語句,其約束與您想要的SELECT 查詢相同。隨後,使用 PDOStatement::fetchColumn() 檢索行計數。此過程可確保可靠且跨資料庫相容的方法。
現有記錄集的替代選項
如果您已經擁有一個記錄集並需要確定其行數,您可以可以使用fetch* 方法之一獲取數據並利用PHP 的count 函數。雖然這種方法很簡單,但它需要將整個記錄集提取到記憶體中,這對於大型資料集可能效率不高。
以上是如何從 PHP PDO SELECT 查詢中有效地檢索行數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!