mysql_data_seek

(PHP 3, PHP 4 , PHP 5)

mysql_data_seek -- Flyt intern resultat reference

Beskrivelse

bool mysql_data_seek ( resource result_identifier, int row_number)

Returnerer TRUE ved succes, FALSE ved fejl.

mysql_data_seek() flytter der interne række reference af MySQL resultatet associeret med den specificerede resultat beskriver, til at pege på den specificerede række, så mysql_fetch_row() vil returnere den række.

Row_number starter ved 0. Parametret row_number skal være inden for værdimængden 0 til mysql_num_rows - 1. Men hvis resultat sættet er tomt (mysql_num_rows == 0), vil en søgning til 0 resultere i en fejl med E_WARNING og mysql_data_seek() vil returnere FALSE.

Bemærk: Denne funktion mysql_data_seek() kan kun bruges i sammenhæng med mysql_query(), ikke med mysql_unbuffered_query().

Eksempel 1. mysql_data_seek() eksempel

<?php
$link
= mysql_connect('localhost', 'mysql_bruger', 'mysql_password');
if (!
$link) {
    die(
'Kunne ikke forbinde til databasen: ' . mysql_error());
}
$db_selected = mysql_select_db('prøve_db');
if (!
$db_selected) {
    die(
'Kunne ikke vælge databasen: ' . mysql_error());
}
$query = 'SELECT efternavn, fornavn FROM venner';
$result = mysql_query($query);
if (!
$result) {
    die(
'Forespørgsel mislykkedes: ' . mysql_error());
}
/* Sorter rækkerne i omvendt orden */
for ($i = mysql_num_rows($result) - 1; $i >= 0; $i--) {
    if (!
mysql_data_seek($result, $i)) {
        echo
"Kan ikke flytte rækken til række $i: " . mysql_error() . "\n";
        continue;
    }

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

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

mysql_free_result($result);
?>

Se også mysql_query() og mysql_num_rows().