Maison > base de données > tutoriel mysql > `bind_result()` vs `get_result()` : quelle stratégie de liaison de résultats PHP MySQL devriez-vous choisir ?

`bind_result()` vs `get_result()` : quelle stratégie de liaison de résultats PHP MySQL devriez-vous choisir ?

Mary-Kate Olsen
Libérer: 2025-01-01 09:18:10
original
857 Les gens l'ont consulté

`bind_result()` vs. `get_result()`: Which PHP MySQL Result Binding Strategy Should You Choose?

Bind_result vs Get_result : comparaison des stratégies de liaison de résultats

En PHP, il existe deux méthodes distinctes pour récupérer les résultats d'une requête à partir d'une base de données MySQL : bind_result() et get_result() . Comprendre les différences entre ces méthodes peut optimiser les performances de votre code et la gestion des résultats.

Bind_result()

bind_result() répertorie explicitement les colonnes à lier dans la requête, ce qui donne lieu à des variables individuelles pour chacune. colonne.

Exemple d'utilisation bind_result():

<?php
$query = 'SELECT id, first_name, last_name FROM `table` WHERE id = ?';
$id = 5;

$stmt = $mysqli->prepare($query);
$stmt->bind_param('i',$id);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($id, $first_name, $last_name);

while ($stmt->fetch()) {
    //...
}
?>
Copier après la connexion

Avantages:

  • Compatible avec les anciennes versions de PHP
  • Renvoie des variables distinctes pour chacune colonne

Inconvénients :

  • Liste manuelle de toutes les variables requises
  • Nécessite la mise à jour du code lorsque la structure de la table change
  • Nécessite un tableau séparé manipulation

Get_result()

get_result() renvoie automatiquement un tableau ou un objet associatif ou énuméré représentant la ligne récupérée.

Exemple d'utilisation get_result():

<?php
$query = 'SELECT * FROM `table` WHERE id = ?';
$id = 5;

$stmt = $mysqli->prepare($query);
$stmt->bind_param('i',$id);
$stmt->execute();
$result = $stmt->get_result();

while ($row = $result->fetch_assoc()) {
    //...
}
?>
Copier après la connexion

Avantages:

  • Renvoie un tableau associatif ou un tableau/objet énuméré
  • Prend en charge la récupération de tous résultats avec fetch_all()
  • Simplifie le résultat manipulation

Inconvénients :

  • Nécessite un pilote natif MySQL (mysqlnd)

Différences et limitations

Feature bind_result() get_result()
Result Handling Separate variables Associative/enumerated array or object
MySQL Driver Older versions supported Requires mysqlnd
Code Maintenance Manual updates required Automatic result filling
Result Fetching Individual rows All rows at once

Conclusion

Bind_result() et get_result() a ses avantages et ses limites. Pour les anciennes versions de PHP ou lorsque des variables distinctes sont préférées, bind_result() peut être appropriée. Cependant, lorsque la simplicité de gestion des résultats et la possibilité de récupérer plusieurs lignes à la fois sont importantes, get_result() est le choix recommandé.

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