Heim >Datenbank >MySQL-Tutorial >Wie rufe ich mit MySQLi mehrere LIKE-Abfrageergebnisse ab?

Wie rufe ich mit MySQLi mehrere LIKE-Abfrageergebnisse ab?

DDD
DDDOriginal
2025-01-20 06:11:14653Durchsuche

How to Retrieve Multiple LIKE Query Results Using MySQLi?

MySQLi und mehrere LIKE-Abfrageergebnisse: Ein umfassender Leitfaden

Die Verwendung des LIKE-Operators von MySQLi stellt beim Abrufen mehrerer übereinstimmender Zeilen oft eine Herausforderung dar. Dieser Leitfaden zeigt die richtigen Techniken zur Vermeidung solcher Probleme.

Optimierter Code für den Abruf mehrerer Zeilen:

Der folgende Codeausschnitt ruft effizient alle übereinstimmenden Datensätze aus Ihrer users-Tabelle ab und speichert sie im $data-Array:

<code class="language-php">$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);</code>

Der Schlüssel hier ist die Verwendung von get_result(). Diese Methode gibt ein MySQLi-Ergebnisobjekt zurück und ermöglicht so den nahtlosen Zugriff und die Verarbeitung des gesamten Ergebnissatzes.

Moderner Ansatz (PHP 8.2 und höher):

Für PHP 8.2 und spätere Versionen gibt es eine prägnantere Methode:

<code class="language-php">$sql = "SELECT id, username FROM users WHERE username LIKE ?";
$result = $db->execute_query($sql, ["%" . $_POST['user'] . "%"]);
$data = $result->fetch_all(MYSQLI_ASSOC);</code>

Dies nutzt die execute_query()-Methode und vereinfacht den Prozess erheblich.

Traditionelle Fetch- und bind_result-Methode:

Obwohl weniger effizient, bleibt der traditionelle Ansatz mit fetch() und bind_result() eine Option:

<code class="language-php">$stmt->bind_result($id, $username);
while ($stmt->fetch()) {
  echo "Id: {$id}, Username: {$username}";
}</code>

Beachten Sie, dass hierfür eine while Schleife erforderlich ist, um jede Zeile einzeln zu durchlaufen.

Wichtige Ressourcen:

Ausführliche Informationen und weitere Erkundungen finden Sie in diesen Ressourcen:

Das obige ist der detaillierte Inhalt vonWie rufe ich mit MySQLi mehrere LIKE-Abfrageergebnisse ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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