mysql_data_seek

Bewegt den internen Ergebnis-Zeiger

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt werden. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. Alternativen zu dieser Funktion umfassen:

  • mysqli_data_seek
  • PDO::FETCH_ORI_ABS

Beschreibung

bool mysql_data_seek ( resource $result , int $row_number )

mysql_data_seek bewegt den internen Datensatz-Zeiger eines Anfrageergebnisses das mit der übergebenen Resultkennung assoziiert ist, zu dem Datensatz mit der übergebenen Zeilennummer. Der nächste Aufruf einer MySQL fetch Funktion, wie etwa mysql_fetch_row liefert die entsprechende Zeile.

Die row_number Zeilennummer beginnt bei 0. Die row_number Zeilennummer sollte ein Wert im Bereich zwischen 0 und mysql_num_rows - 1 sein. Falls die Ergebnismenge jedoch leer sein sollte (mysql_num_rows == 0) wird eine Suche nach Zeilennummer 0 mit einem E_WARNING fehlschlagen und mysql_data_seek gibt FALSE zurück.

Parameter-Liste

Ergebnis

Das Ergebnis Ressource, das ausgewertet wird. Dieses Ergebnis kommt von einem Aufruf von mysql_query.

row_number

Die gewünschte Zeilennummer des neuen Ergebnis-Zeigers.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 mysql_data_seek Beispiel

<?php
$link 
mysql_connect('localhost''mysql_user''mysql_password');
if (!
$link) {
    die(
'Keine Verbindung möglich: ' mysql_error());
}
$db_selected mysql_select_db('sample_db');
if (!
$db_selected) {
    die(
'Konnte Schema nicht auswählen: ' mysql_error());
}
$query 'SELECT last_name, first_name FROM friends';
$result mysql_query($query);
if (!
$result) {
    die(
'Anfrage fehlgeschlagen: ' mysql_error());
}
/* Hole Zeilen in umgekehrter Reihenfolge */
for ($i mysql_num_rows($result) - 1$i >= 0$i--) {
    if (!
mysql_data_seek($result$i)) {
        echo 
"Kann nicht zu Zeile $i gehen (seek): " mysql_error() . "\n";
        continue;
    }

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

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

mysql_free_result($result);
?>

Anmerkungen

Hinweis:

Die Funktion mysql_data_seek kann nur zusammen mit mysql_query benutzt werden und nicht mit mysql_unbuffered_query.

Siehe auch

  • mysql_query
  • mysql_num_rows
  • mysql_fetch_row
  • mysql_fetch_assoc
  • mysql_fetch_array
  • mysql_fetch_object