此方法构造一个新的 mysqli_result 对象。
它可用于在调用 mysqli_real_query() 或 mysqli_multi_query() 函数后创建 mysqli_result 对象。手动构造对象等效于调用 mysqli_store_result() 或 mysqli_use_result() 函数。
mysql
仅适用于过程式风格:由 mysqli_connect() 或 mysqli_init() 返回的 mysqli 对象
result_mode
结果模式可以是 2 个常量之一,指示结果将如何从 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.