English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Die Funktion mysqli_field_seek() setzt den Feldzeiger auf den angegebenen Feldversatz.
Ein PHP-Ergebnisobjekt (mysqli_result-Klasse) stellt die MySQL-Ergebnisse dar, die durch SELECT-, DESCRIBE- oder EXPLAIN-Abfragen zurückgegeben werden.
Die Funktion mysqli_field_seek() akzeptiert ein Ergebnisobjekt und einen ganzzahligen Wert, der die Feldnummer darstellt, und bewegt die Feldsuche im angegebenen Ergebnisobjekt auf das angegebene Feld.
mysqli_field_seek($result, $field);
Nummer | Parameter und Beschreibung |
---|---|
1 | result (erforderlich) Dies ist ein Identifikator für das Ergebnisobjekt. |
2 | field (erforderlich) Dies ist ein ganzzahliger Wert, der die Feldnummer angibt, zu der die Suche im übergebenen Ergebnisobjekt verschoben werden soll. |
Die Funktion mysqli_field_seek() von PHP gibt einen boolschen Wert zurück, wenn der Vorgang erfolgreich ist, dann wirdTRUEFalls der Vorgang fehlschlägt, wirdFALSEdefiniert.
Diese Funktion wurde ursprünglich in der PHP-Version5eingeführt und kann in allen höheren Versionen verwendet werden.
Nachfolgender Beispiel zeigt:mysqli_field_seek()Verwendung der Funktion (prozeduraler Stil), um den Feldindex im Ergebnissatz zu setzen:3Datenbankfeldzeiger für ein Feld (Spalte) erhalten, dann Feldinformationen mit mysqli_fetch_field() abrufen und Feldname, Tabelle und Maximallängen ausgeben:
<?php $con = mysqli_connect("localhost", "root", "password", "mydb"); mysqli_query($con, "CREATE TABLE myplayers(ID INT, Vorname VARCHAR(255), Nachname VARCHAR(255), Geburtsort VARCHAR(255), Land VARCHAR(255))"); print("Tabelle erstellen...\n"); mysqli_query($con, "INSERT INTO myplayers values(1, 'Sikhar', 'Dhawan', 'Delhi', 'India')"); mysqli_query($con, "INSERT INTO myplayers values(2, 'Jonathan', 'Trott', 'CapeTown', 'SouthAfrica')"); mysqli_query($con, "INSERT INTO myplayers values(3, 'Kumara', 'Sangakkara', 'Matale', 'Srilanka')"); print("Eingabe eines neuen Eintrags.....\n"); //Inhalt der Tabelle abrufen $res = mysqli_query($con, "SELECT * FROM myplayers"); //Seek auf das dritte Feld bewegen mysqli_field_seek($res, 2); //Feld abrufen $info = mysqli_fetch_field($res); //Aktueller Feld $currentfield = mysqli_field_tell($res); print("Current Field: ".$currentfield."\n"); print("Name: ".$info->name.\n"); print("Table: ".$info->table."\n"); print("Max Length: ".$info->max_length."\n"); print("Flags: ".$info->flags."\n"); print("Typ: ".$info->type."\n"); //Anweisung beenden mysqli_free_result($res); //Verbindung schließen mysqli_close($con); ?>
Ausgabeergebnis
Tabelle erstellen... Datensatz einfügen... Aktuelles Feld: 3 Name: Last_Name Tabelle: myplayers Maximale Länge: 10 Flags: 0 Typ: 253
Im objektorientierten Stil lautet die Syntax der Funktion$result->field_seek;.Hier ist ein Beispiel für diese Funktion im objektorientierten Stil;
<?php //Verbindung herstellen $con = new mysqli("localhost", "root", "password", "mydb"); $con -> query("CREATE TABLE Test(Name VARCHAR(255), ALTER INT)"); $con -> query("insert into Test values('Raju', 25),('Rahman', 30),('Sarmista', 27); print("Tabelle erstellen...\n"); $stmt = $con -> prepare("SELECT * FROM Test WHERE Name in(?, ?)"); $stmt -> bind_param("ss", $name1, $name2); $name1 = 'Raju'; $name2 = 'Rahman'; //Anweisung ausführen $stmt->execute(); //Ergebnis abrufen $result = $stmt->get_result(); //Suche auf das zweite Feld verschieben $result->field_seek(1); //Zweites aktuelles Feld holen $info = $result->fetch_field(); $field = $result->current_field; print("Aktuelles Feld: " . $field.\n"); print("Feldname: " . $info->name.\n"); print("Feldart: " . $info->type); //Anweisung beenden $stmt->close(); //Verbindung schließen $con->close(); ?>
Ausgabeergebnis
Tabelle erstellen... Aktuelles Feld: 2 Feldname: ALTER Feldart: 3