Heim > Datenbank > MySQL-Tutorial > Wie rufe ich mit mysqli mehrere Zeilen mit einer LIKE-Abfrage ab?

Wie rufe ich mit mysqli mehrere Zeilen mit einer LIKE-Abfrage ab?

Patricia Arquette
Freigeben: 2025-01-20 06:21:10
Original
1007 Leute haben es durchsucht

How to Retrieve Multiple Rows with a LIKE Query Using mysqli?

MySQLi LIKE Abfragen: Mehrere Zeilen abrufen

Der bereitgestellte Code verwendet bind_result und fetch und ist nur für den einzeiligen Abruf geeignet. Um mit MySQLi mehrere Zeilen abzurufen, die einer LIKE-Abfrage entsprechen, ziehen Sie die folgenden Methoden in Betracht:

Methode 1: Verwendung von get_result()

Diese Methode gibt ein Ergebnismengenobjekt zurück, sodass Sie mit fetch_all() alle Zeilen als assoziatives Array abrufen können:

$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);
Nach dem Login kopieren

Methode 2: Verwendung von execute_query() (PHP 8.2 und höher)

Dieser optimierte Ansatz führt die Abfrage aus und ruft alle Ergebnisse gleichzeitig ab:

$sql = "SELECT id, username FROM users WHERE username LIKE ?";
$result = $db->execute_query($sql, ["%{$_POST['user']}%"]);
$data = $result->fetch_all(MYSQLI_ASSOC);
Nach dem Login kopieren

Methode 3: Iterativ fetch()

Wenn Sie den bind_result()- und fetch()-Ansatz bevorzugen, verwenden Sie eine Schleife, um mehrere Zeilen zu durchlaufen:

$stmt = $db->prepare("SELECT id, username FROM users WHERE username LIKE ?");
$stmt->bind_param("s", $param);
$stmt->execute();
$stmt->bind_result($id, $username);
while ($stmt->fetch()) {
  echo "Id: {$id}, Username: {$username}";
}
Nach dem Login kopieren

Diese Alternativen rufen effizient alle Zeilen ab, die Ihre LIKE-Bedingung erfüllen. Wählen Sie die Methode, die am besten zu Ihrem Codierungsstil und Ihrer PHP-Version passt.

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

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