Aktueller Standort: Startseite> Neueste Artikel> Wie benutze ich die Funktion mySQLI_Result :: fetch_field, um die Feldstruktur des Abfrageergebnisses anzuzeigen? Umfassender Leitfaden

Wie benutze ich die Funktion mySQLI_Result :: fetch_field, um die Feldstruktur des Abfrageergebnisses anzuzeigen? Umfassender Leitfaden

gitbox 2025-06-10

Bei der Entwicklung von PHP-basierten Datenbankanwendungen müssen wir häufig die Strukturinformationen der Felder in den Ergebnissen der Datenbankabfrage verstehen, z. B. Feldname, Datentyp, maximale Länge usw. Dies ist sehr hilfreich, um Tabellen dynamisch zu generieren, Datenformate zu überprüfen und sogar automatisch die Formularelemente zu generieren. Glücklicherweise bietet PHP eine leistungsstarke Funktion - Mysqli_Result :: Fetch_field , die uns helfen kann, diese Feldmetadaten leicht zu erhalten.

In diesem Artikel wird Ihnen ein umfassendes Verständnis dafür vermittelt, wie die Funktion mySQLI_Result :: fetch_field die Feldstruktur der Abfrageergebnisse angezeigt und Ihr Verständnis durch bestimmte Codebeispiele vertieft.

1. Was ist MySQLi_Result :: Fetch_field ?

Mysqli_Result :: fetch_field () ist eine Methode der MySQLI_Result -Klasse, die ein Objekt zurückgibt, das Informationen zu einem einzelnen Feld im Ergebnissatz darstellt. Jedes Mal, wenn die Methode aufgerufen wird, gibt sie die Informationen für das nächste Feld zurück, bis keine Felder mehr vorhanden sind.

Das zurückgegebene Objekt ist ein STD -Class -Objekt, das mehrere Eigenschaften enthält, einschließlich:

  • Name : Feldname

  • Orgname : Originalfeldname (wenn ein Alias ​​verwendet wird)

  • Tabelle : Der Tabellenname, zu dem das Feld gehört

  • OrgTable : Original -Tabellenname

  • Def : Standardwert (veraltet, immer null )

  • DB : Datenbankname

  • Katalog : Datenbankverzeichnis (normalerweise "def")

  • max_length : Die maximale Länge dieses Feldes im Ergebnissatz

  • Länge : Die Definitionslänge des Feldes

  • charsetnr : Zeichensatznummer

  • Flags : Das Flaggenbit des Feldes (z. B. ob es sich um einen Primärschlüssel handelt, ob es null sein kann)

  • Typ : Der Typ des Feldes (wie MySQLI_Type_string )

  • Dezimalstellen : Dezimalstellen

2. Beispiele für Grundnutzung

Das Folgende ist ein grundlegendes Nutzungsbeispiel, das zeigt, wie Sie eine Verbindung zu einer Datenbank herstellen und die Strukturinformationen der Felder im Abfrageergebnis erhalten.

<Code> & lt;? Php // Datenbankverbindungsparameter $ host = "localhost"; $ user = "root"; $ password = "your_password"; $ database = "test_db";

// eine Datenbankverbindung herstellen
$ conn = new MySQLI ($ host, $ user, $ password, $ database);

// Überprüfen Sie die Verbindung
if ($ conn-> connect_error) {
Die ("Verbindung fehlgeschlagen:". $ conn-> connect_error);
}

// Abfrage ausführen
$ sql = "ID, Benutzername, E -Mail von Benutzern" auswählen ";
$ result = $ conn-> query ($ sql);

if ($ result-> num_rows> 0) {
echo "Feldstrukturinformationen: <br> <br>";

 while ($field = $result-&gt;fetch_field()) {
    echo "Feldname: " . $field-&gt;name . "&lt;br&gt;";
    echo "Zugehörigkeitstabelle: " . $field-&gt;table . "&lt;br&gt;";
    echo "原始Feldname: " . $field-&gt;orgname . "&lt;br&gt;";
    echo "Typ: " . $field-&gt;type . "&lt;br&gt;";
    echo "Länge: " . $field-&gt;length . "&lt;br&gt;";
    echo "Ist es möglich NULL: " . ($field-&gt;flags &amp; MYSQLI_NOT_NULL_FLAG ? "NEIN" : "Ja") . "&lt;br&gt;";
    echo "--------------------------&lt;br&gt;";
}

} anders {
echo "kein Ergebnis";
}

// die Verbindung schließen
$ conn-> close ();
?>
</code>

3.. Wie man Typ und Flaggen versteht

Der Typ gibt eine Ganzzahlkonstante zurück, die den Feldtyp darstellt, zum Beispiel:

  • Mysqli_type_long (Integer)

  • Mysqli_type_var_string (variable Längenzeichenfolge)

  • MySQLI_TYPE_DATETIME (DateTime)

Sie können diese Konstanten in lesbarere Text umwandeln, indem Sie eine Reihe von Karten definieren.

In ähnlicher Weise ist Flags eine Bitmaske, die verschiedene Eigenschaften des Feldes darstellt, z. B. ob es sich um einen Primärschlüssel handelt, ob es automatisch inkrementiert wird.

4. Praktische Fähigkeiten

  1. Dynamisch generieren Header : Sie können Fetch_field () verwenden, um Feldnamen als Header für HTML -Tabellen dynamisch zu erhalten, insbesondere für unbekannte Spaltenzahlen.

  2. Feldüberprüfung : Das Erhalten der Feldstruktur im Voraus kann überprüfen, ob der Feldtyp und die Länge die Erwartungen erfüllen, wenn die Benutzereingabe verarbeitet oder Daten importiert werden.

  3. Automatische Entwicklung : Kombinieren Sie Feldmetadaten, um die Regeln für automatische Erzeugung und Datenüberprüfung zu entwickeln