Abrufen aller Übereinstimmungen aus einer MySQLi LIKE-Abfrage
Das Arbeiten mit MySQLi LIKE
-Abfragen in PHP, insbesondere wenn mehrere Ergebnisse erwartet werden, erfordert eine sorgfältige Handhabung, um sicherzustellen, dass alle übereinstimmenden Datensätze abgerufen werden. Im Folgenden werden effiziente Methoden gezeigt, um dies zu erreichen.
Ein häufiger Fehler besteht darin, nur das erste Ergebnis abzurufen. Um alle übereinstimmenden Zeilen abzurufen, verwenden Sie diese verbesserten Techniken:
Methode 1: Verwendung von fetch_all()
(empfohlen)
Diese Methode ist prägnant und effizient, insbesondere für PHP 8.2 und höher. Es ruft alle Ergebnisse in ein assoziatives Array ab:
$param = "%{$_POST['user']}%"; $stmt = $db->prepare("SELECT id, username FROM users WHERE username LIKE ?"); $stmt->bind_param("s", $param); $stmt->execute(); $result = $stmt->get_result(); $data = $result->fetch_all(MYSQLI_ASSOC); // Fetches all results
Für PHP 8.2 vereinfacht die execute_query
-Funktion dies weiter:
$sql = "SELECT id, username FROM users WHERE username LIKE ?"; $result = $db->execute_query($sql, ["%{$_POST['user']}%"]); $data = $result->fetch_all(MYSQLI_ASSOC);
Methode 2: Iterativer Ansatz mit bind_result()
und while
Schleife
Dieser Ansatz durchläuft jede Zeile einzeln und druckt id
und username
:
$stmt->bind_result($id, $username); while ($stmt->fetch()) { echo "Id: {$id}, Username: {$username}<br>"; // Added <br> for better output }
Diese Methode ist nützlich, wenn Sie jede Zeile einzeln verarbeiten müssen, anstatt sie alle in einem Array zu speichern.
Beide Methoden basieren auf der offiziellen MySQLi-Dokumentation und bieten robuste Lösungen für die Verarbeitung mehrerer Ergebnisse aus LIKE
Abfragen. Die fetch_all()
-Methode wird im Allgemeinen wegen ihrer Einfachheit und Effizienz beim gleichzeitigen Abrufen aller Ergebnisse bevorzugt.
Das obige ist der detaillierte Inhalt vonWie kann ich alle Ergebnisse einer MySQLi LIKE-Abfrage mit mehreren Übereinstimmungen effizient abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!