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

结果模式可以是 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.

参见

添加备注

用户贡献的备注

此页面没有用户贡献的备注。
To Top