Wie verwendet ich die Funktion mySQLI_Result, um die Strukturinformationen der Datenbankabfrageergebnisse zu drucken?
Bei der PHP -Programmierung ist die Verwendung von MySQL -Datenbanken eine übliche Operation. Um Daten aus einer Datenbank zu erhalten, wird normalerweise die MySQLI -Erweiterung verwendet. Bei der Durchführung von Datenbankabfragen müssen wir manchmal die Strukturinformationen der Abfrageergebnisse anzeigen, um die Felder, Typen usw. der Daten zu verstehen.
Die Funktion von MySQLI_Result kann uns helfen, diese Informationen zu erhalten. Es wird in Verbindung mit der Funktion mySQLI_Query () verwendet, wodurch ein Objekt zurückgegeben wird, das die Abfrageergebnisse enthält. Durch dieses Objekt können wir einige Methoden verwenden, um die Abfrageergebnisse der Datenbank anzuzeigen und zu manipulieren.
Um die Strukturinformationen der Datenbankabfrageergebnisse zu drucken, können zwei Hauptfunktionen verwendet werden:
MySQLI_Fetch_fields () : Erhält die Metadaten aller Felder im Abfrageergebnis.
MySQLI_Fetch_field () : Erhält die Metadaten eines Feldes im Abfrageergebnis.
<?php
// Datenbankverbindungen konfigurieren
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test_db";
// Eine Verbindung erstellen
$conn = new mysqli($servername, $username, $password, $dbname);
// Überprüfen Sie, ob die Verbindung erfolgreich ist
if ($conn->connect_error) {
die("Verbindung ist fehlgeschlagen: " . $conn->connect_error);
}
// Eine Frage ausführen
$sql = "SELECT id, name, email FROM users";
$result = $conn->query($sql);
// Überprüfen Sie, ob die Abfrage erfolgreich ist
if ($result) {
// Drucken Sie die Strukturinformationen des Abfrageergebnisses aus
echo "Strukturinformationen von Abfrageergebnissen:<br>";
$fields = $result->fetch_fields();
// Ausgabefeldinformationen
foreach ($fields as $field) {
echo "Feldname: " . $field->name . "<br>";
echo "Feldtyp: " . $field->type . "<br>";
echo "Maximale Länge: " . $field->length . "<br>";
echo "Ob es erlaubt ist NULL: " . ($field->nullable ? 'Ja' : 'NEIN') . "<br><br>";
}
} else {
echo "Abfrage fehlgeschlagen: " . $conn->error;
}
// Schließen Sie die Verbindung
$conn->close();
?>
Datenbankverbindung : Erstens erstellen wir eine Verbindung zur MySQL -Datenbank über New MySQLI () .
Abfrage ausführen : Führen Sie die SQL-Abfrage über $ conn-> query ($ sql) aus und senden Sie die Abfrageergebnisse zurück.
Feldinformationen erhalten : $ result-> fetch_fields () gibt ein Array mit allen Feldmetadaten zurück. Jede Feldmetadaten sind ein Objekt, und die detaillierten Informationen des Feldes können durch Eigenschaften wie $ field-> name , $ field-> Typ usw. erhalten werden.
Ausdruckinformationen : Verwenden Sie Echo , um Informationen wie den Namen, die Typ, die maximale Länge und die Frage zu geben, ob es leer ist.
Im obigen Code enthält jedes Feldobjekt, das von der Methode fetch_fields () zurückgegeben wurde, die folgenden häufig verwendeten Eigenschaften:
Name : Der Name des Feldes.
Tabelle : Der Tabellenname, zu dem das Feld gehört.
max_length : Die maximale Länge des Feldes.
Typ : Der Datentyp des Feldes (z. B. Ganzzahl, Zeichenfolge, Datum usw.).
Länge : Die Länge des Feldes.
Nullierbar : Ob das Feld null sein kann.
Primär_key : Ob das Feld der Hauptschlüssel ist.
Die Verwendung dieser Eigenschaften kann Entwicklern helfen, Einblick in die Tabellenstruktur in der Datenbank zu erhalten und die Debugging und Optimierung während der Entwicklung zu erleichtern.
Angenommen, die Tabelle der Abfragebenutzer hat die folgende Struktur:
Ausweis | Name | |
---|---|---|
1 | John | John@m66.net |
2 | Alice | alice@m66.net |
3 | Bob | bob@m66.net |
Die Ausgabe kann ähnlich sein wie mit:
Strukturinformationen von Abfrageergebnissen:
Feldname: id
Feldtyp: 3
Maximale Länge: 11
Ob es erlaubt ist NULL: NEIN
Feldname: name
Feldtyp: 253
Maximale Länge: 50
Ob es erlaubt ist NULL: NEIN
Feldname: email
Feldtyp: 253
Maximale Länge: 100
Ob es erlaubt ist NULL: NEIN
Zusätzlich zur Methode Fetch_fields () bietet das Objekt MySQLI_Result auch einige andere gängige Methoden, mit denen wir weitere Abfrageergebnisse verarbeiten können:
num_fields () : Gibt die Anzahl der Felder im Abfrageergebnis zurück.
Fetch_assoc () : Gibt die Abfrage in eine Reihe der Assoziieren von Arrays zurück.
Fetch_row () : Gibt die Abfrage in einer Zeile in Form eines numerischen Index zurück.
fetch_object () : Gibt eine Reihe von Abfragen zurück zu einem Objekt.
Diese Methoden können Ihnen dabei helfen, Abfrageergebnisse entsprechend Ihren Anforderungen flexibler zu verarbeiten.
Durch die Funktion MySQLI_Result und verwandte Methoden können wir die strukturellen Informationen der Datenbankabfrageergebnisse problemlos erhalten und drucken. Dies ist sehr hilfreich für die Entwicklung und Debuggierung, die Analyse der Datenbanktabellenstruktur und andere Aufgaben. Wenn Sie die MySQLI -Erweiterung verwenden, können Sie die Daten effizienter verarbeiten.