PHP PDO:檢索SELECT 查詢傳回的行數
儘管PDO 缺乏專門的方法來計算SELECT 查詢傳回的行數SELECT 查詢傳回的行數SELECT ,有幾種替代方法可以實現此功能。
使用 rowCount()
PDOStatement 類別提供了 rowCount() 方法,該方法傳回行數受 UPDATE、INSERT 或 DELETE 語句影響。但是,手冊建議不要將 rowCount() 與 SELECT 語句一起使用,因為它可能無法準確反映行數。
使用COUNT(*) 子查詢
根據根據PDO 文檔,建議的方法是使用帶有COUNT(*) 的PDO::query() 子查詢來計算行數。然後可以使用 PDOStatement::fetchColumn() 檢索行數。例如:
$stmt = $conn->prepare('SELECT COUNT(*) FROM table'); $stmt->execute(); $rowCount = $stmt->fetchColumn();
使用獲取方法
如果您已經將資料提取到結果集中,則可以使用fetch* 方法之一來檢索資料並使用count () 函數確定行數。例如,使用fetchAll() 方法:
$stmt = $conn->query('SELECT * FROM table'); $rows = $stmt->fetchAll(); $rowCount = count($rows);
其他注意事項
當使用帶有LIMIT 子句的SELECT 查詢時,rowCount() 方法可能會傳回應用LIMIT 之前的行數。因此,一般建議使用上述子查詢的方式來確保準確性。
以上是如何有效計算 PHP PDO SELECT 查詢傳回的行數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!