PHP Manual
Prev |  | Next

# mysql_data_seek

(PHP 3, PHP 4 )

mysql_data_seek -- Move internal result pointer

## Description

bool mysql_data_seek ( resource result_identifier, int row_number)

Returns `TRUE` on success or `FALSE` on failure.

mysql_data_seek() moves the internal row pointer of the MySQL result associated with the specified result identifier to point to the specified row number. The next call to mysql_fetch_row() would return that row.

`Row_number` starts at 0. The `row_number` should be a value in the range from 0 to mysql_num_rows - 1.

> Note: The function mysql_data_seek() can be used in conjunction only with mysql_query(), not with mysql_unbuffered_query().

Example 1. MySQL data seek example
    <?php
        $link = mysql_pconnect("localhost", "mysql_user", "mysql_password")
            or die("Could not connect");

        mysql_select_db("samp_db")
            or exit("Could not select database");

        $query = "SELECT last_name, first_name FROM friends";
        $result = mysql_query($query)
            or die("Query failed");

        /* fetch rows in reverse order */
        for ($i = mysql_num_rows($result) - 1; $i >= 0; $i--) {
            if (!mysql_data_seek($result, $i)) {
                echo "Cannot seek to row $i\n";
                continue;
            }

            if(!($row = mysql_fetch_object($result)))
                continue;

            echo "$row->last_name $row->first_name<br />\n";
        }

        mysql_free_result($result);
    ?>

See also: mysql_query(), mysql_num_rows().

Prev | Home | Next
mysql_create_db | Up | mysql_db_name