Maison >base de données >tutoriel mysql >Comment récupérer correctement plusieurs résultats de recherche en utilisant LIKE dans MySQLi ?

Comment récupérer correctement plusieurs résultats de recherche en utilisant LIKE dans MySQLi ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-20 06:17:131032parcourir

How to Properly Fetch Multiple Search Results Using LIKE in MySQLi?

Utilisez l'instruction LIKE de MySQLi pour obtenir efficacement plusieurs résultats de recherche

Cet article explique comment utiliser MySQLi pour obtenir plusieurs résultats à partir d'une requête LIKE.

Le code d'origine fourni dans la question tente d'obtenir une seule ligne de résultats, mais cela ne convient pas aux scénarios dans lesquels plusieurs lignes peuvent être renvoyées. Pour obtenir tous les résultats correctement, vous pouvez utiliser :

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

Alternativement, à partir de PHP 8.2, vous pouvez utiliser le code plus concis suivant :

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

Si vous préférez la syntaxe traditionnelle fetch et bind_result, vous pouvez utiliser le code suivant :

<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();

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

Ces extraits de code mis à jour garantissent que toutes les lignes correspondantes sont récupérées de la base de données, vous permettant d'accéder aux données selon vos besoins.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn