此方法建構一個新的 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.