PHP Conference Japan 2024

mysqli_result::__construct

(PHP 5, PHP 7, PHP 8)

mysqli_result::__construct建構 mysqli_result 物件

說明

public mysqli_result::__construct(mysqli $mysql, int $result_mode = MYSQLI_STORE_RESULT)

此方法建構一個新的 mysqli_result 物件。

在呼叫 mysqli_real_query()mysqli_multi_query() 函式後,可以使用它來建立 mysqli_result 物件。手動建構物件等同於呼叫 mysqli_store_result()mysqli_use_result() 函式。

參數

mysql

僅限程序式風格:由 mysqli_connect()mysqli_init() 返回的 mysqli 物件。

result_mode

結果模式可以是兩個常數之一,指示如何從 MySQL 伺服器返回結果。

MYSQLI_STORE_RESULT(預設)- 建立具有緩衝結果集的 mysqli_result 物件。

MYSQLI_USE_RESULT - 建立具有非緩衝結果集的 mysqli_result 物件。只要有待提取的記錄,連線就會保持忙碌,所有後續的呼叫都會返回錯誤碼 `Commands out of sync`。為了避免此錯誤,必須從伺服器提取所有記錄,或者必須透過呼叫 mysqli_free_result() 來捨棄結果集。連線必須保持開啟才能提取資料列。

錯誤/例外

如果啟用了 mysqli 錯誤報告(MYSQLI_REPORT_ERROR)且請求的操作失敗,則會產生警告。此外,如果模式設定為 MYSQLI_REPORT_STRICT,則會改為拋出 mysqli_sql_exception

範例

範例 #1 建立 mysqli_result 物件

<?php

mysqli_report
(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* 選擇查詢會返回結果集 */
$mysqli->real_query("SELECT Name FROM City LIMIT 10");

$result = new mysqli_result($mysqli);
printf("Select returned %d rows.\n", $result->num_rows);

以上範例將輸出類似以下的內容:

Select returned 10 rows.

另請參閱

新增註解

使用者貢獻的註解

此頁面沒有使用者貢獻的註解。
To Top