Les instructions préparées dans MySQLi fournissent deux méthodes principales pour récupérer les résultats des requêtes : bind_result et get_result. Cet article compare les objectifs, les avantages et les limites de chaque méthode.
La méthode bind_result lie explicitement les variables aux colonnes renvoyées par une requête. Il nécessite que l'ordre des variables corresponde strictement à la structure des colonnes et est généralement utilisé lorsque la requête renvoie un sous-ensemble spécifique de colonnes.
Avantages :
Inconvénients :
La méthode get_result renvoie un objet qui contient l'intégralité du jeu de résultats de la requête. Il nécessite MySQL Native Driver (mysqlnd) et offre une plus grande flexibilité.
Avantages :
Inconvénients :
<?php $query1 = 'SELECT id, first_name, last_name, username FROM `table` WHERE id = ?'; $id = 5; $stmt = $mysqli->prepare($query1); $stmt->bind_param('i', $id); $stmt->execute(); $stmt->store_result(); $stmt->bind_result($id, $first_name, $last_name, $username); while ($stmt->fetch()) { echo 'ID: ' . $id . '<br>'; echo 'First Name: ' . $first_name . '<br>'; echo 'Last Name: ' . $last_name . '<br>'; echo 'Username: ' . $username . '<br><br>'; } ?>
<?php $query2 = 'SELECT * FROM `table` WHERE id = ?'; $id = 5; $stmt = $mysqli->prepare($query2); $stmt->bind_param('i', $id); $stmt->execute(); $result = $stmt->get_result(); while ($row = $result->fetch_assoc()) { echo 'ID: ' . $row['id'] . '<br>'; echo 'First Name: ' . $row['first_name'] . '<br>'; echo 'Last Name: ' . $row['last_name'] . '<br>'; echo 'Username: ' . $row['username'] . '<br><br>'; } ?>
Le choix entre bind_result et get_result dépend des exigences spécifiques de l'application. bind_result offre une compatibilité avec les anciennes versions de PHP et permet une liaison précise des variables, tandis que get_result offre de la flexibilité et élimine le besoin d'une liaison manuelle des variables. Cependant, get_result nécessite le pilote natif MySQL.
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!