PHP mysqli_use_result MySQLi 函数

  • 定义和用法

    mysqli_use_result - 启动结果集检索
  • 版本支持

    PHP4 PHP5 PHP7
    不支持 支持 支持
  • 语法

    mysqli_use_result ( void )
    
    用于从数据库连接上使用 mysqli_real_query() 函数执行的最后一个查询启动对结果集的检索。 必须先调用此函数或 mysqli_store_result() 函数,然后才能检索查询的结果,并且必须调用一个或另一个函数以防止该数据库连接上的下一个查询失败。
    注意mysqli_use_result() 函数不会从数据库传输整个结果集,因此无法使用 mysqli_data_seek() 之类的函数移至该集中的特定行。 要使用此功能,必须使用 mysqli_store_result() 存储结果集。 如果在客户端执行了大量处理,则不应使用mysqli_use_result()为这将占用服务器并阻止其他线程更新要从中获取数据的任何表。
  • 参数

    参数 必需的 描述
  • 返回值

    返回未缓冲的结果集对象;如果发生错误,则返回FALSE。
  • 示例

    <?php
    $link = mysqli_connect("localhost", "my_user", "my_password", "world");
    
    /* check connection */
    if (mysqli_connect_errno()) {
        printf("Connect failed: %s\n", mysqli_connect_error());
        exit();
    }
    
    $query  = "SELECT CURRENT_USER();";
    $query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";
    
    /* execute multi query */
    if (mysqli_multi_query($link, $query)) {
        do {
            /* store first result set */
            if ($result = mysqli_use_result($link)) {
                while ($row = mysqli_fetch_row($result)) {
                    printf("%s\n", $row[0]);
                }
                mysqli_free_result($result);
            }
            /* print divider */
            if (mysqli_more_results($link)) {
                printf("-----------------\n");
            }
        } while (mysqli_next_result($link));
    }
    
    /* close connection */
    mysqli_close($link);
    
  • 相关函数

    mysqli_real_query() - 执行一个mysql查询
    mysqli_store_result() - 转移上一次查询返回的结果集