Maison > développement back-end > tutoriel php > Comment récupérer efficacement tous les résultats d'une requête MySQL LIKE ?

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

Linda Hamilton
Libérer: 2024-12-14 19:27:12
original
400 Les gens l'ont consulté

How to Efficiently Fetch All Results from a MySQL LIKE Query?

Requête MySQL avec LIKE et résultats multiples

Dans MySQL, l'utilisation de l'opérateur LIKE dans une requête peut souvent renvoyer plusieurs résultats. Pour récupérer tous les résultats correspondants, vous devez utiliser les méthodes de récupération appropriées.

Récupération de tous les résultats

Pour récupérer tous les résultats d'une requête, vous pouvez utiliser la méthode get_result(). Cette méthode récupère l'ensemble de résultats complet en tant qu'objet MySQLi_Result. Vous pouvez ensuite utiliser la méthode fetch_all() pour obtenir un tableau de toutes les données de lignes, associées par noms de champs si vous avez utilisé la constante MYSQLI_ASSOC.

Exemple de code utilisant get_result() :

$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

Exemple de code utilisant PHP 8.2 execute_query() :

$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

Récupération itérative

Si vous préférez récupérer les résultats de manière itérative, vous pouvez utiliser la méthode fetch(). Cependant, vous devez gérer l'itération vous-même, car il n'existe aucun moyen intégré de parcourir tous les résultats.

Exemple de code pour la récupération itérative avec bind_result() :

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

N'oubliez pas de toujours vous référer à la documentation MySQLi pour obtenir les informations les plus récentes sur la récupération des résultats.

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!

source:php.cn
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