Maison > développement back-end > tutoriel php > `bind_result()` vs `get_result()` : quelle méthode de récupération des résultats MySQL dois-je utiliser ?

`bind_result()` vs `get_result()` : quelle méthode de récupération des résultats MySQL dois-je utiliser ?

Barbara Streisand
Libérer: 2024-12-05 06:54:12
original
990 Les gens l'ont consulté

`bind_result()` vs. `get_result()`: Which MySQL Result Retrieval Method Should I Use?

bind_result vs get_result : utilisation et différences

Lorsqu'ils travaillent avec des requêtes MySQL en PHP, les programmeurs rencontrent souvent deux méthodes pour récupérer les résultats : bind_result () et get_result(). Les deux méthodes ont leurs propres avantages et limites, ce qui rend crucial la compréhension de leurs différences pour une interaction optimale avec la base de données.

bind_result()

Bind_result() lie les variables directement au colonnes dans un résultat de requête. Cette méthode nécessite de répertorier manuellement chaque colonne de la requête et de les attribuer aux variables correspondantes.

Avantages :

  • Prend en charge les anciennes versions de PHP
  • Renvoie des variables individuelles pour chaque colonne
  • Peut être utilisé avec ou sans le pilote natif MySQL (mysqlnd)

Inconvénients :

  • Nécessite une liste manuelle de toutes les colonnes
  • Plus de code requis pour récupérer la ligne en tant que ligne array
  • Le code doit être mis à jour chaque fois que la structure de la table changes

get_result()

Get_result() récupère le résultat de la requête sous forme de tableau associatif ou d'objet énuméré, automatiquement rempli avec les données de la ligne renvoyée. Cette méthode n'est disponible que lors de l'utilisation du pilote mysqlnd.

Avantages :

  • Renvoie un tableau ou un objet associatif/énuméré avec toutes les données de colonne
  • Peut utiliser fetch_all() pour récupérer toutes les lignes renvoyées à la fois
  • Code simplifié pour récupérer plusieurs lignes

Inconvénients :

  • Nécessite un pilote natif MySQL (mysqlnd)
  • Peut être incompatible avec les anciennes versions de PHP

Exemple Utilisation :

Utilisation de bind_result()

$query = 'SELECT id, first_name, last_name FROM table WHERE id = ?';
...
$stmt->bind_result($id, $first_name, $last_name);
while ($stmt->fetch()) {
    echo 'ID: ' . $id . '<br>';
    echo 'First Name: ' . $first_name . '<br>';
    echo 'Last Name: ' . $last_name . '<br><br>';
}
Copier après la connexion

Utilisation de get_result()

$query = 'SELECT * FROM table WHERE id = ?';
...
$result = $stmt->get_result();
while ($row = $result->fetch_array()) {
    echo 'ID: ' . $row['id'] . '<br>';
    echo 'First Name: ' . $row['first_name'] . '<br>';
    echo 'Last Name: ' . $row['last_name'] . '<br><br>';
}
Copier après la connexion

Comparaison

En général, bind_result() convient aux anciennes versions de PHP ou lorsque vous travaillez avec du code obsolète. Get_result(), en revanche, offre un moyen plus efficace et plus pratique de récupérer les résultats d'une requête, en particulier s'il s'agit de plusieurs lignes ou de structures de données complexes.

Le choix entre bind_result() et get_result() dépend en fin de compte sur les exigences spécifiques du projet et l'environnement PHP et MySQL disponible.

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