Aktueller Standort: Startseite> Neueste Artikel> Vergleich und Auswahl von MySQLi_Result :: Fetch_column und MySQLI_Fetch_array

Vergleich und Auswahl von MySQLi_Result :: Fetch_column und MySQLI_Fetch_array

gitbox 2025-05-26

Bei der Verwendung von PHP für Datenbankoperationen bietet die MySQLI -Erweiterung mehrere Möglichkeiten, um Abfrageergebnisse zu erhalten. Unter ihnen sind MySQLi_Result :: Fetch_column und MySQLi_Fetch_array zwei häufig verwendete, aber unterschiedliche Funktionen. Das Verständnis ihrer Unterschiede und anwendbaren Szenarien ist sehr wichtig, um einen effizienten und einfach zu machtenden Code zu schreiben.


1. grundlegende Einführung

  • Mysqli_Result :: fetch_column
    Dies ist eine neue Methode, die zur PHP 8.1-Version hinzugefügt wurde, die zur mysqli_result -Klasse des objektorientierten Stils gehört. Es wird verwendet, um den Wert der angegebenen Spalte aus dem Ergebnissatz zu erhalten und die Daten eines einzelnen Feldes zurückzugeben.

  • Mysqli_fetch_array
    Dies ist eine prozeduralorientierte Funktion, die alle Felddaten der aktuellen Zeile zurückgibt. Es gibt ein assoziatives Array, ein assoziatives Array, ein numerisches Indexarray oder sogar beides zurück, abhängig von den Parametereinstellungen.


2. Detaillierte Unterschiede

Merkmal Mysqli_Result :: fetch_column Mysqli_fetch_array
Rückgabewert Gibt den einzelnen Feldwert der angegebenen Spalte zurück Gibt das Array der aktuellen Zeile zurück (Assoziation, numerischer Index oder beides)
Verwenden Sie Stil Objektorientiert Prozessorientiert
Rückgabetyp Skalarwerte (Zeichenfolgen, Zahlen usw.) Array
Anwendbare Szenarien Nur eine bestimmte Datenspalte speichert Speicher Erfordert eine ganze Reihe von Daten, einschließlich mehrerer Spalten
PHP -Versionsanforderungen PHP 8.1 und höher Unterstützen Sie frühere Versionen von PHP

3. Verwenden Sie Beispiele

MySQLi_Result :: Fetch_Column Beispiel

 <?php
$mysqli = new mysqli("gitbox.net", "user", "password", "database");
$result = $mysqli->query("SELECT id, name FROM users");

while ($id = $result->fetch_column(0)) {  // Holen Sie sich die erste Spalte id
    echo "BenutzerID: $id\n";
}

$mysqli->close();
?>

MySQLI_Fetch_array Beispiel

 <?php
$mysqli = new mysqli("gitbox.net", "user", "password", "database");
$result = $mysqli->query("SELECT id, name FROM users");

while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
    echo "BenutzerID: " . $row['id'] . ", Benutzer名: " . $row['name'] . "\n";
}

$mysqli->close();
?>

4. Wie kann man eine geeignetere Funktion auswählen?

  • Wenn Sie sich nur um eine Spalte im Abfrageergebnis kümmern und PHP 8.1 und höher verwenden, ist Fetch_Column eine prägnantere und effizientere Wahl.
    Es gibt direkt die Daten der angegebenen Spalte zurück, wodurch unnötiges Array -Overhead vermieden wird und den Code prägnanter wird.

  • Wenn Sie in der gesamten Zeile auf mehrere Felder zugreifen müssen oder Ihr Projekt immer noch PHP 8.0 und unten verwendet, ist die Verwendung von MySQLI_Fetch_array angemessener.
    Es unterstützt mehr Rückgabetypen und bietet flexiblen Zugriff auf Felder.

  • Objektorientiertes vs prozessorientiert <br> Wenn Sie an eine objektorientierte Programmierung gewöhnt sind, wird empfohlen , $ result-> fetch_column () und andere objektorientierte Methoden von MySQLI_Result zu verwenden.
    Andernfalls ist MySQLI_Fetch_array () immer noch eine klassische und weit verbreitete prozedurale Funktion.


5. Zusammenfassung

Szene Empfohlene Funktionen
Holen Sie sich nur ein einzelnes Feld (Einzelspalte) Mysqli_Result :: fetch_column
Holen Sie sich eine vollständige Aufzeichnung mehrerer Felder mysqli_fetch_array oder $ result-> fetch_assoc ()
Kompatibel mit PHP 8.0 und darunter Mysqli_fetch_array

Bei der Auswahl einer Funktion sollten Sie Entscheidungen auf der Grundlage geschäftlicher Anforderungen und der PHP -Version treffen. Das Verständnis des Unterschieds zwischen den beiden kann dazu beitragen, präzise und effizientere Datenbankzugriffscode zu schreiben.