mysql_data_seek

(PHP 3, PHP 4 , PHP 5)

mysql_data_seek -- Move o ponteiro interno do resultado

Descrição

bool mysql_data_seek ( resource result_identifier, int row_number )

Retorna TRUE em caso de sucesso ou FALSE em falhas.

mysql_data_seek() move o ponteiro interno do resultado MySQL associado ao identificador de resultado (result_identifier) especificado para apontar a linha identificada. A próxima chamada a mysql_fetch_row() irá retornar esta linha.

O parâmetro row_number (número de linha) começa no 0. O row_number deve ser um valor entre 0 e mysql_num_rows - 1. Entretanto, se o conjunto de resultados for vazio (mysql_num_rows == 0), movimentar o ponteiro para 0 irá falhar com um E_WARNING e mysql_data_seek() irá retornar FALSE.

Nota: A função mysql_data_seek() pode ser usada somente em conjunto com mysql_query(), não com mysql_unbuffered_query().

Exemplo 1. Exemplo MySQL data seek

<?php
$link
= mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!
$link) {
    die(
'Não pude conectar: ' . mysql_error());
}
$db_selected = mysql_select_db('sample_db');
if (!
$db_selected) {
    die(
'Não pude selecionar o banco de dados: ' . mysql_error());
}
$query = 'SELECT last_name, first_name FROM friends';
$result = mysql_query($query);
if (!
$result) {
    die(
'A consulta falhou: ' . mysql_error());
}
/* Obtém linhas na ordem reversa */
for ($i = mysql_num_rows($result) - 1; $i >= 0; $i--) {
    if (!
mysql_data_seek($result, $i)) {
        echo
"Não pude mover para a linha $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);
?>

Veja também: mysql_query() e mysql_num_rows().