Maison > base de données > tutoriel mysql > Comment récupérer plusieurs résultats de requête LIKE à l'aide de MySQLi ?

Comment récupérer plusieurs résultats de requête LIKE à l'aide de MySQLi ?

DDD
Libérer: 2025-01-20 06:11:14
original
587 Les gens l'ont consulté

How to Retrieve Multiple LIKE Query Results Using MySQLi?

Résultats de requêtes MySQL et multiples LIKE : un guide complet

L'utilisation de l'opérateur LIKE de MySQLi présente souvent des défis lors de la récupération de plusieurs lignes correspondantes. Ce guide montre les techniques correctes pour éviter de tels problèmes.

Code optimisé pour la récupération de plusieurs lignes :

L'extrait de code suivant récupère efficacement tous les enregistrements correspondants de votre table users et les stocke dans le tableau $data :

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

La clé ici est d'utiliser get_result(). Cette méthode renvoie un objet de résultat MySQLi, permettant un accès et un traitement transparents de l'ensemble des résultats.

Approche moderne (PHP 8.2 et supérieur) :

Pour PHP 8.2 et versions ultérieures, une méthode plus concise existe :

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

Cela exploite la méthode execute_query(), simplifiant considérablement le processus.

Méthode traditionnelle de récupération et de liaison_result :

Bien que moins efficace, l'approche traditionnelle utilisant fetch() et bind_result() reste une option :

<code class="language-php">$stmt->bind_result($id, $username);
while ($stmt->fetch()) {
  echo "Id: {$id}, Username: {$username}";
}</code>
Copier après la connexion

Notez que cela nécessite une boucle while pour parcourir chaque ligne individuellement.

Ressources essentielles :

Pour des informations détaillées et une exploration plus approfondie, reportez-vous à ces ressources :

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