mysql_data_seek

Move internal result pointer

&mysql.alternative.note;

- `mysqli_data_seek`
- `PDO::FETCH_ORI_ABS`

&reftitle.description; `bool` `mysql_data_seek` `resource` `result` `int` `row_number`

`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 a MySQL fetch function, such as `mysql_fetch_assoc`, 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. However if the result set is empty (`mysql_num_rows` == 0), a seek to 0 will fail with an `E_WARNING` and `mysql_data_seek` will return &false;.

&reftitle.parameters;

&mysql.result.description;

`row_number`

- The desired row number of the new result pointer.

&reftitle.returnvalues;

&return.success;

&reftitle.examples;

### `mysql_data_seek` example

    <?php
    $link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
    if (!$link) {
        die('Could not connect: ' . mysql_error());
    }
    $db_selected = mysql_select_db('sample_db');
    if (!$db_selected) {
        die('Could not select database: ' . mysql_error());
    }
    $query = 'SELECT last_name, first_name FROM friends';
    $result = mysql_query($query);
    if (!$result) {
        die('Query failed: ' . mysql_error());
    }
    /* 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: " . mysql_error() . "\n";
            continue;
        }

        if (!($row = mysql_fetch_assoc($result))) {
            continue;
        }

        echo $row['last_name'] . ' ' . $row['first_name'] . "<br />\n";
    }

    mysql_free_result($result);
    ?>

&reftitle.notes;

The function `mysql_data_seek` can be used in conjunction only with `mysql_query`, not with `mysql_unbuffered_query`.

&reftitle.seealso;

- `mysql_query`
- `mysql_num_rows`
- `mysql_fetch_row`
- `mysql_fetch_assoc`
- `mysql_fetch_array`
- `mysql_fetch_object`