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

结果模式可以是 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");

/* Select 查询返回结果集 */
$mysqli->real_query("SELECT Name FROM City LIMIT 10");

$result = new mysqli_result($mysqli);
printf("Select 返回了 %d 行。\n", $result->num_rows);

以上示例将输出类似以下内容

Select returned 10 rows.

参见

添加注释

用户贡献的注释

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