當前位置: 首頁> 最新文章列表> 如何使用mysqli_result::num_rows 獲取結果行數

如何使用mysqli_result::num_rows 獲取結果行數

M66 2025-05-28

在使用PHP 操作MySQL 數據庫時,我們常常需要知道某個查詢語句返回了多少行數據。這在分頁、數據校驗等場景中尤為常見。本文將介紹如何通過mysqli_result::num_rows方法來獲取查詢結果的行數。

什麼是mysqli_result::num_rows?

mysqli_result::num_rows是一個面向對象的屬性,用於獲取查詢結果集中行的數量。它只能用於SELECT查詢,並且在查詢成功且結果集中包含數據時使用。

基本語法

$result->num_rows;

其中$resultmysqli::query()執行後返回的mysqli_result對象。

示例代碼

以下是一個簡單的PHP 示例,演示如何使用mysqli_result::num_rows獲取查詢結果的行數:

 <?php
// 數據庫連接配置
$host = 'localhost';
$user = 'root';
$password = 'your_password';
$database = 'test_db';

// 創建數據庫連接
$mysqli = new mysqli($host, $user, $password, $database);

// 檢查連接是否成功
if ($mysqli->connect_error) {
    die('連接失敗: ' . $mysqli->connect_error);
}

// 定義查詢語句
$sql = "SELECT * FROM users WHERE status = 'active'";

// 執行查詢
$result = $mysqli->query($sql);

// 檢查查詢是否成功
if ($result) {
    // 獲取行數
    echo "共有 " . $result->num_rows . " 個激活用戶。";
    
    // 釋放結果集
    $result->free();
} else {
    echo "查詢出錯: " . $mysqli->error;
}

// 關閉數據庫連接
$mysqli->close();
?>

注意事項

  1. num_rows只能用於SELECT類型的查詢,對於INSERTUPDATEDELETE無效。

  2. 如果使用的是mysqli::store_result()獲取結果集,則同樣可以通過num_rows獲取行數。

  3. 若數據量較大,推薦通過SQL 語句SELECT COUNT(*)來統計總行數,提高性能。

延伸閱讀

通過本文的介紹,相信你已經掌握瞭如何通過mysqli_result::num_rows獲取MySQL 查詢結果的行數。在日常開發中,善用這一屬性能夠幫助你更高效地處理數據。

你還想了解mysqli 的其他常用方法嗎?