PDO 是一個強大的資料庫互動 PHP 擴展,為處理資料庫查詢提供了高效且安全的機制。然而,與 MySQLi 的 num_rows 變數不同,PDO 缺乏直接方法來確定 SELECT 查詢傳回的行數。
雖然有一個 PDOStatement->rowCount方法,根據 PDO 文檔,不鼓勵將其用於 SELECT 查詢。相反,建議的方法是使用與預期 SELECT 查詢相同的條件發出單獨的 SELECT COUNT(*) 語句。
要計算SELECT 查詢將傳回的行數,您可以使用下列步驟:
如果您已有記錄集,則可以使用計數() 函數來確定其中的行數。但是,這需要使用 fetch* 方法之一來取得數據,例如 fetch() 或 fetchAll()。
以下範例示範了建議的方法:
$stmt = $pdo->prepare("SELECT * FROM `table` WHERE `condition` = ?"); $stmt->execute([$value]); $rowCount = $stmt->rowCount(); // This will return 0 for a SELECT query $countStmt = $pdo->prepare("SELECT COUNT(*) FROM `table` WHERE `condition` = ?"); $countStmt->execute([$value]); $count = $countStmt->fetchColumn(); // This will return the actual count echo "Number of rows: $count";
透過此方法,您可以準確計算PDO SELECT 查詢傳回的行數,從而確保最佳效能和資料庫資源利用率。
以上是如何在 PHP 中有效計算 PDO SELECT 查詢的行數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!