Heim >Backend-Entwicklung >PHP-Tutorial >„bind_result' vs. „get_result' in MySQLi: Welche vorbereitete Anweisungsmethode sollten Sie wählen?
Vorbereitete Anweisungen in MySQLi bieten zwei primäre Methoden zum Abrufen von Abfrageergebnissen: bind_result und get_result. In diesem Artikel werden die Zwecke, Vorteile und Einschränkungen der einzelnen Methoden verglichen.
Die Methode bind_result bindet Variablen explizit an die von einer Abfrage zurückgegebenen Spalten. Es erfordert, dass die Reihenfolge der Variablen genau mit der Spaltenstruktur übereinstimmt, und wird normalerweise verwendet, wenn die Abfrage eine bestimmte Teilmenge von Spalten zurückgibt.
Vorteile:
Nachteile:
Die get_result-Methode gibt ein Objekt zurück, das die gesamte Ergebnismenge der Abfrage enthält. Es erfordert den nativen MySQL-Treiber (mysqlnd) und bietet mehr Flexibilität.
Vorteile:
Nachteile:
<?php $query1 = 'SELECT id, first_name, last_name, username FROM `table` WHERE id = ?'; $id = 5; $stmt = $mysqli->prepare($query1); $stmt->bind_param('i', $id); $stmt->execute(); $stmt->store_result(); $stmt->bind_result($id, $first_name, $last_name, $username); while ($stmt->fetch()) { echo 'ID: ' . $id . '<br>'; echo 'First Name: ' . $first_name . '<br>'; echo 'Last Name: ' . $last_name . '<br>'; echo 'Username: ' . $username . '<br><br>'; } ?>
<?php $query2 = 'SELECT * FROM `table` WHERE id = ?'; $id = 5; $stmt = $mysqli->prepare($query2); $stmt->bind_param('i', $id); $stmt->execute(); $result = $stmt->get_result(); while ($row = $result->fetch_assoc()) { echo 'ID: ' . $row['id'] . '<br>'; echo 'First Name: ' . $row['first_name'] . '<br>'; echo 'Last Name: ' . $row['last_name'] . '<br>'; echo 'Username: ' . $row['username'] . '<br><br>'; } ?>
Die Wahl zwischen bind_result und get_result hängt von den spezifischen Anforderungen der Anwendung ab. bind_result bietet Kompatibilität mit älteren PHP-Versionen und ermöglicht eine präzise Variablenbindung, während get_result Flexibilität bietet und die Notwendigkeit einer manuellen Variablenbindung überflüssig macht. Für get_result ist jedoch ein nativer MySQL-Treiber erforderlich.
Das obige ist der detaillierte Inhalt von„bind_result' vs. „get_result' in MySQLi: Welche vorbereitete Anweisungsmethode sollten Sie wählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!