Heim > Datenbank > MySQL-Tutorial > „bind_result()' vs. „get_result()': Welche PHP-MySQL-Ergebnisbindungsstrategie sollten Sie wählen?

„bind_result()' vs. „get_result()': Welche PHP-MySQL-Ergebnisbindungsstrategie sollten Sie wählen?

Mary-Kate Olsen
Freigeben: 2025-01-01 09:18:10
Original
865 Leute haben es durchsucht

`bind_result()` vs. `get_result()`: Which PHP MySQL Result Binding Strategy Should You Choose?

Bind_result vs. Get_result: Vergleich von Ergebnisbindungsstrategien

In PHP gibt es zwei unterschiedliche Methoden zum Abrufen von Abfrageergebnissen aus einer MySQL-Datenbank: bind_result() und get_result() . Wenn Sie die Unterschiede zwischen diesen Methoden verstehen, können Sie die Leistung Ihres Codes und die Ergebnisverarbeitung optimieren.

Bind_result()

bind_result() listet explizit die in der Abfrage zu bindenden Spalten auf, was zu individuellen Variablen für jede führt Spalte.

Beispiel für die Verwendung bind_result():

<?php
$query = 'SELECT id, first_name, last_name FROM `table` WHERE id = ?';
$id = 5;

$stmt = $mysqli->prepare($query);
$stmt->bind_param('i',$id);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($id, $first_name, $last_name);

while ($stmt->fetch()) {
    //...
}
?>
Nach dem Login kopieren

Vorteile:

  • Kompatibel mit älteren PHP-Versionen
  • Gibt für jede einzelne Variable zurück Spalte

Nachteile:

  • Manuelle Auflistung aller erforderlichen Variablen
  • Erfordert Aktualisierung des Codes, wenn sich die Tabellenstruktur ändert
  • Erfordert separates Array Verarbeitung

Get_result()

get_result() gibt automatisch ein assoziatives oder aufgezähltes Array oder Objekt zurück, das die abgerufene Zeile darstellt.

Beispiel für die Verwendung get_result():

<?php
$query = 'SELECT * FROM `table` WHERE id = ?';
$id = 5;

$stmt = $mysqli->prepare($query);
$stmt->bind_param('i',$id);
$stmt->execute();
$result = $stmt->get_result();

while ($row = $result->fetch_assoc()) {
    //...
}
?>
Nach dem Login kopieren

Vorteile:

  • Gibt ein assoziatives Array oder ein aufgezähltes Array/Objekt zurück
  • Unterstützt das Abrufen aller Ergebnisse mit fetch_all()
  • Vereinfacht das Ergebnis Handhabung

Nachteile:

  • Erfordert MySQL Native Driver (mysqlnd)

Unterschiede und Einschränkungen

Feature bind_result() get_result()
Result Handling Separate variables Associative/enumerated array or object
MySQL Driver Older versions supported Requires mysqlnd
Code Maintenance Manual updates required Automatic result filling
Result Fetching Individual rows All rows at once

Fazit

Beides bind_result() und get_result() haben ihre Vorteile und Einschränkungen. Für ältere PHP-Versionen oder wenn separate Variablen bevorzugt werden, kann bind_result() geeignet sein. Wenn jedoch eine einfache Ergebnisverarbeitung und die Möglichkeit, mehrere Zeilen gleichzeitig abzurufen, wichtig sind, ist get_result() die empfohlene Wahl.

Das obige ist der detaillierte Inhalt von„bind_result()' vs. „get_result()': Welche PHP-MySQL-Ergebnisbindungsstrategie sollten Sie wählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage