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
Patricia ArquetteOriginal
2025-01-20 06:21:101044Durchsuche

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:

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

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:

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

Methode 3: Iterativ fetch()

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

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

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!

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