(PHP 4, PHP 5)
mysql_data_seek — Bewegt den internen Ergebnis-Zeiger
$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.
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.
Gibt bei Erfolg TRUE
zurück. Im Fehlerfall wird FALSE
zurückgegeben.
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);
?>
Hinweis:
Die Funktion mysql_data_seek() kann nur zusammen mit mysql_query() benutzt werden und nicht mit mysql_unbuffered_query().