• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • mysqli_result::data_seek()

    (PHP 5, PHP 7)

    Adjusts the result pointer to an arbitrary row in the result

    说明

    面向对象风格
    mysqli_result::data_seek(int $offset): bool
    过程化风格
    mysqli_data_seek(mysqli_result$result,int $offset): bool

    The mysqli_data_seek() function seeks to an arbitrary result pointer specified by the$offsetin the result set.

    参数

    $result

    仅以过程化样式:由mysqli_query(),mysqli_store_result()或mysqli_use_result()返回的结果集标识。

    $offset

    The field offset. Must be between zero and the total number of rows minus one(0..mysqli_num_rows() 1).

    返回值

    成功时返回TRUE,或者在失败时返回FALSE

    注释

    Note:

    This function can only be used with buffered results attained from the use of the mysqli_store_result() or mysqli_query() functions.

    范例

    Example #1 面向对象风格

    <?php
    /* Open a connection */
    $mysqli = new mysqli("localhost", "my_user", "my_password", "world");
    /* check connection */
    if (mysqli_connect_errno()) {
        printf("Connect failed: %s\n", mysqli_connect_error());
        exit();
    }
    $query = "SELECT Name, CountryCode FROM City ORDER BY Name";
    if ($result = $mysqli->query($query)) {
        /* seek to row no. 400 */
        $result->data_seek(399);
        /* fetch row */
        $row = $result->fetch_row();
        printf ("City: %s  Countrycode: %s\n", $row[0], $row[1]);
        /* free result set*/
        $result->close();
    }
    /* close connection */
    $mysqli->close();
    ?>
    

    Example #2 过程化风格

    <?php
    /* Open a connection */
    $link = mysqli_connect("localhost", "my_user", "my_password", "world");
    /* check connection */
    if (!$link) {
        printf("Connect failed: %s\n", mysqli_connect_error());
        exit();
    }
    $query = "SELECT Name, CountryCode FROM City ORDER BY Name";
    if ($result = mysqli_query($link, $query)) {
        /* seek to row no. 400 */
        mysqli_data_seek($result, 399);
        /* fetch row */
        $row = mysqli_fetch_row($result);
        printf ("City: %s  Countrycode: %s\n", $row[0], $row[1]);
        /* free result set*/
        mysqli_free_result($result);
    }
    /* close connection */
    mysqli_close($link);
    ?>
    

    以上例程会输出:

    City: Benin City  Countrycode: NGA
    

    参见

    • mysqli_store_result() 转移上一次查询返回的结果集
    • mysqli_fetch_row() Get a result row as an enumerated array
    • mysqli_fetch_array() Fetch a result row as an associative, a numeric array, or both
    • mysqli_fetch_assoc() Fetch a result row as an associative array
    • mysqli_fetch_object() Returns the current row of a result set as an object
    • mysqli_query() 对数据库执行一次查询
    • mysqli_num_rows() Gets the number of rows in a result
    This is useful function when you try to loop through the resultset numerous times.
    For example:
    <?php
    $result = mysqli_query($connection_id,$query);
    while ($row = mysqli_fetch_assoc($result))
     {
     // Looping through the resultset.
     }
    // Now if you need to loop through it again, you would first call the seek function:
    mysqli_data_seek($result,0);
    while ($row = mysqli_fetch_assoc($result))
     {
     // Looping through the resultset again.
     }
    ?>