mysqli_result::data_seek

mysqli_data_seek

(PHP 5, PHP 7, PHP 8)

mysqli_result::data_seek -- mysqli_data_seekVerschiebt den Ergebniszeiger auf die angegebene Zeile

Beschreibung

Objektorientierter Stil

publicmysqli_result::data_seek(int$offset): bool

Prozeduraler Stil

mysqli_data_seek(mysqli_result$result, int$offset): bool

Die Funktion mysqli_data_seek() verschiebt den Ergebniszeiger auf eine beliebige durch offset angegebene Zeile der Ergebnismenge.

Parameter-Liste

result

Nur bei prozeduralem Aufruf: Ein von mysqli_query(), mysqli_store_result(), mysqli_use_result() oder mysqli_stmt_get_result() zurückgegebenes mysqli_result-Objekt.

offset

Der Zeilenversatz. Muss zwischen null und der Gesamtzahl der Zeilen minus eins liegen (0..mysqli_num_rows() - 1).

Rückgabewerte

Gibt bei Erfolg true zurück. Bei einem Fehler wird false zurückgegeben.

Beispiele

Beispiel #1 mysqli::data_seek()-Beispiel

Objektorientierter Stil

<?php

mysqli_report
(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

$query = "SELECT Name, CountryCode FROM City ORDER BY Name";
$result = $mysqli->query($query);


$result->data_seek(400);


$row = $result->fetch_row();

printf("Stadt: %s Ländercode: %s\n", $row[0], $row[1]);

Prozeduraler Stil

<?php

mysqli_report
(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

$query = "SELECT Name, CountryCode FROM City ORDER BY Name";

$result = mysqli_query($link, $query);


mysqli_data_seek($result, 400);


$row = mysqli_fetch_row($result);

printf ("Stadt: %s Ländercode: %s\n", $row[0], $row[1]);

Die obigen Bespiele erzeugen folgende Ausgabe:

Stadt: Benin City Ländercode: NGA

Beispiel #2 Anpassen des Ergebniszeigers beim Iterieren

Wenn über eine Ergebnismenge iteriert wird, ist diese Funktion nützlich, um eine benutzerdefinierte Reihenfolge festzulegen oder um den Ergebniszeiger bei mehrfacher Iteration zurückzusetzen.

<?php

mysqli_report
(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

$query = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 15,4";
$result = $mysqli->query($query);


for ($row_no = $result->num_rows - 1; $row_no >= 0; $row_no--) {
$result->data_seek($row_no);


$row = $result->fetch_row();

printf("Stadt: %s Ländercode: %s\n", $row[0], $row[1]);
}


$result->data_seek(0);

print
"\n";


while ($row = $result->fetch_row()) {
printf("Stadt: %s Ländercode: %s\n", $row[0], $row[1]);
}

Die obigen Bespiele erzeugen folgende Ausgabe:

Stadt: Acmbaro Ländercode: MEX Stadt: Abuja Ländercode: NGA Stadt: Abu Dhabi Ländercode: ARE Stadt: Abottabad Ländercode: PAK Stadt: Abottabad Ländercode: PAK Stadt: Abu Dhabi Ländercode: ARE Stadt: Abuja Ländercode: NGA Stadt: Acmbaro Ländercode: MEX

Anmerkungen

Hinweis:

Diese Funktion kann nur bei gepufferten Ergebnissen verwendet werden, die mit einer der Funktionen mysqli_store_result(), mysqli_query() oder mysqli_stmt_get_result() gewonnen wurden.

Siehe auch

To Top