Maison >base de données >tutoriel mysql >Comment récupérer plusieurs lignes avec une requête LIKE à l'aide de mysqli ?

Comment récupérer plusieurs lignes avec une requête LIKE à l'aide de mysqli ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-20 06:21:10936parcourir

How to Retrieve Multiple Rows with a LIKE Query Using mysqli?

MySQLi LIKE Requêtes : récupération de plusieurs lignes

Le code fourni utilise bind_result et fetch, adaptés uniquement à la récupération sur une seule ligne. Pour récupérer plusieurs lignes correspondant à une requête LIKE à l'aide de MySQLi, envisagez ces méthodes :

Méthode 1 : Utilisation de get_result()

Cette méthode renvoie un objet ensemble de résultats, vous permettant d'utiliser fetch_all() pour récupérer toutes les lignes sous forme de 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 : Utilisation de execute_query() (PHP 8.2 et versions ultérieures)

Cette approche rationalisée exécute la requête et récupère tous les résultats simultanément :

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

Méthode 3 : Itérative fetch()

Si vous préférez les approches bind_result() et fetch(), utilisez une boucle pour parcourir plusieurs lignes :

<code class="language-php">$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 alternatives récupèrent efficacement toutes les lignes satisfaisant votre LIKE condition. Choisissez la méthode qui convient le mieux à votre style de codage et à votre version de PHP.

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