Maison >base de données >tutoriel mysql >Comment récupérer tous les résultats d'une requête MySQLi LIKE ?

Comment récupérer tous les résultats d'une requête MySQLi LIKE ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-20 06:02:09710parcourir

How to Fetch All Results from a MySQLi LIKE Query?

Récupération de plusieurs enregistrements à partir de requêtes MySQLi LIKE

Les requêtes

MySQLi LIKE peuvent donner plusieurs résultats. Cependant, la méthode standard fetch() ne récupère que la première ligne. Ce guide présente plusieurs façons de récupérer tous les enregistrements correspondants.

Méthode 1 : get_result() et fetch_all()

C'est la méthode préférée. get_result() récupère l'intégralité du jeu de résultats et fetch_all() le convertit efficacement en un tableau associatif :

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

Méthode 2 : déclarations préparées avec fetch() et boucle

Cette approche utilise des instructions préparées avec bind_result() et itère en utilisant fetch() jusqu'à ce qu'il n'y ait plus de lignes disponibles :

<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()) {
  // Process each row ($id, $username)
}</code>

Méthode 3 : execute_query() (PHP 8.2 et versions ultérieures)

Pour PHP 8.2 et supérieur, execute_query() propose une alternative concise :

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

Ressources utiles :

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