English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Die Funktion mysqli_fetch_field() in PHP gibt das nächste Feld im Ergebnissatz zurück.
PHP-Ergebnisobjekte (der Klasse mysqli_result) stellen die MySQL-Ergebnisse dar, die durch SELECT-, DESCRIBE- oder EXPLAIN-Abfragen zurückgegeben werden.
Die Funktion mysqli_fetch_field() in PHP nimmt ein Ergebnisobjekt als Parameter und gibt das nächste Feld in Form eines Objekts zurück./Definitionsinformationen des Feldes.
mysqli_fetch_field($result);
Nummer | Parameter und Beschreibung |
---|---|
1 | result (notwendig) Dies ist der Identifikator für das Ergebnisobjekt. |
Die Funktion mysqli_fetch_field() in PHP gibt ein Objekt zurück, das die Definitionsinformationen des angegebenen Feldes im Ergebnis enthält. Wenn keine Informationen vorliegen, gibt diese FunktionFALSE.
Das zurückgegebene Objekt enthält die folgenden Attribute:
name - Spaltenname
orgname - Ursprünglicher Spaltenname (wenn ein Alias angegeben wurde)
table - Tabellenname
orgtable - Ursprünglicher Tabellenname (wenn ein Alias angegeben wurde)
def - reserviert als Standardwert, ist derzeit immer ""
db - Datenbank (in PHP 5.3.6 neu hinzugefügt)
catalog - Verzeichnisname, immer "def" (seit PHP 5.3.6 bis)
max_length - Maximale Breite des Feldes
length - Feldbreite in der Tabellendefinition angegeben
charsetnr - Zeichensatznummer des Feldes
flags - Bitflag für das Feld
type - Datenart für das Feld
decimals - Ganzzahlfeld, Anzahl der Stellen nach dem Dezimalpunkt
Diese Funktion wurde ursprünglich in der PHP-Version5introduced und kann in allen höheren Versionen verwendet werden.
Die folgenden Beispiele zeigenmysqli_fetch_field()Verwendung der Funktion (prozedurales Stil)-
<?php $con = mysqli_connect("localhost", "root", "password", "mydb"); mysqli_query($con, "CREATE TABLE myplayers(ID INT, First_Name VARCHAR(255), Last_Name VARCHAR(255), Place_Of_Birth VARCHAR(255), Country 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', 'Cape Town', 'South Africa')"); mysqli_query($con, "INSERT INTO myplayers values(3, 'Kumara', 'Sangakkara', 'Matale', 'Sri Lanka')"); print("Eingabe eines Eintrags.....\n"); //Inhalt der Tabelle abrufen $res = mysqli_query($con, "SELECT * FROM myplayers"); //Feld ermitteln while($info = mysqli_fetch_field($res)){ //Aktuelles Feld $currentfield = mysqli_field_tell($res); print("Aktuelles Feld: ".$currentfield."\n"); print("Feldname: ".$info->name."\n"); print("Feldtyp: ".$info->type."\n"); } //Anweisung beenden mysqli_free_result($res); //Verbindung schließen mysqli_close($con); ?>
Ergebnisse ausgeben
Tabelle erstellen..... Datensatz einfügen..... Aktuelles Feld: 1 Feldname: ID Feldtyp: 3 Aktuelles Feld: 2 Feldname: First_Name Feldtyp: 253 Aktuelles Feld: 3 Feldname: Last_Name Feldtyp: 253 Aktuelles Feld: 4 Feldname: Place_Of_Birth Feldtyp: 253 Aktuelles Feld: 5 Feldname: Country Feldtyp: 253
In der objektorientierten Syntax ist die Syntax dieser Funktion$result-> fetch_field;。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), AGE 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(); //Suchergebnis $result = $stmt->get_result(); //Aktuelles Feld while($info = $result->fetch_field()){ $field = $result->current_field; print("Aktuelles Feld: ".$field."\n"); print("Feldname: ".$info->name."\n"); } //Anweisung beenden $stmt->close(); //Verbindung schließen $con->close(); ?>