在使用 PHP 的 num_rows
函數時,有一些關鍵點需要注意:
確保查詢已經執行:num_rows
函數是用于獲取已執行查詢結果集中的行數。因此,在調用 num_rows
之前,請確保已經執行了查詢(例如使用 mysqli_query()
)。
傳遞正確的參數:num_rows
函數只接受一個參數,即查詢結果集(通常是 $result
變量)。確保傳遞給 num_rows
的參數是查詢結果集,而不是其他類型的變量。
檢查結果集是否為空:在嘗試使用 num_rows
之前,請確保結果集不為空。如果結果集為空,可能會導致錯誤或意外行為。
避免過時的函數:如果你使用的是 MySQLi 或 PDO 擴展,請確保使用相應的函數,而不是已棄用的 mysql_*
函數。對于 MySQLi,你應該使用 mysqli_num_rows()
函數;對于 PDO,你可以使用 rowCount()
方法。
處理可能的錯誤:在執行查詢和計算行數時,可能會遇到錯誤。確保檢查這些錯誤并適當處理它們,以防止程序崩潰或顯示不正確的信息。
下面是一個使用 MySQLi 和 mysqli_num_rows()
函數的示例:
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// 創建連接
$conn = new mysqli($servername, $username, $password, $dbname);
// 檢查連接
if ($conn->connect_error) {
die("連接失敗: " . $conn->connect_error);
}
// 執行查詢
$sql = "SELECT id, name FROM myTable";
$result = $conn->query($sql);
// 檢查結果集是否為空
if ($result !== false) {
// 獲取行數
$row_count = mysqli_num_rows($result);
echo "查詢結果包含 " . $row_count . " 行。";
} else {
echo "查詢失敗: " . $conn->error;
}
// 關閉連接
$conn->close();
?>
請根據你的實際情況修改上述代碼,并確保遵循最佳實踐。