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
Libérer: 2025-01-20 06:02:09
original
708 Les gens l'ont consulté

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 :

$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);
Copier après la connexion

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 :

$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)
}
Copier après la connexion

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 :

$sql = "SELECT id, username FROM users WHERE username LIKE ?";
$result = $db->execute_query($sql, ["%{$_POST['user']}%"]);
$data = $result->fetch_all(MYSQLI_ASSOC);
Copier après la connexion

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal