Maison >base de données >tutoriel mysql >`bind_result` vs `get_result` dans MySQLi : quelle méthode devriez-vous choisir ?

`bind_result` vs `get_result` dans MySQLi : quelle méthode devriez-vous choisir ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-11 12:34:11921parcourir

`bind_result` vs. `get_result` in MySQLi: Which Method Should You Choose?

Différences entre bind_result et get_result dans MySQLi

MySQLi propose deux façons de récupérer les données d'un résultat de requête : bind_result et get_result. Chaque méthode a ses propres avantages et inconvénients, qui sont décrits ci-dessous.

bind_result

Bind_result lie les variables aux colonnes du résultat de la requête. Cela peut être utile si vous souhaitez travailler avec les valeurs individuelles dans le résultat.

Syntaxe :

$stmt = $mysqli->prepare($query);
$stmt->bind_result($var1, $var2, $var3);
$stmt->execute();
while ($stmt->fetch()) {
    // Do something with $var1, $var2, and $var3
}

Avantages de bind_result :

  • Fonctionne avec PHP 5.3 et versions ultérieures
  • Retours variables séparées pour chaque colonne
  • Peut être plus efficace que get_result si vous n'avez besoin de travailler qu'avec quelques colonnes

Inconvénients de bind_result :

  • Vous oblige à répertorier manuellement toutes les colonnes de la requête
  • Peut être plus verbeux si vous devez renvoyer une ligne sous forme de tableau
  • Nécessite des changements de code si la structure de la table change

get_result

Get_result renvoie un objet ou un tableau représentant le résultat de la requête. Cela peut être plus pratique que bind_result si vous souhaitez travailler avec le résultat dans son ensemble.

Syntaxe :

$stmt = $mysqli->prepare($query);
$stmt->execute();
$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
    // Do something with $row
}

Avantages de get_result :

  • Renvoie un tableau associatif/énuméré ou un objet, automatiquement renseigné avec données de la ligne renvoyée
  • Vous permet d'utiliser la méthode fetch_all() pour récupérer toutes les lignes renvoyées à la fois

Inconvénients de get_result :

  • Nécessite PHP 5.5 ou version ultérieure
  • Peut être moins efficace que bind_result si vous n'avez besoin de travailler qu'avec quelques colonnes

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