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

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