J'essaie de lier les paramètres d'entrée dans ma requête SELECT, puis de récupérer les lignes résultantes, mais MySQLi semble être différent des autres API auxquelles je suis habitué et je me perds dans le manuel PHP.Exemple de requête SELECT avec variables de liaison
L'approche suivante est-elle correcte?
$sql = 'SELECT product_id, product_name, area_id
FROM product
WHERE product_id = ?';
$stmt = $myMySQLi->prepare($sql);
if(!$stmt){
throw new Exception('Prepare error');
}
if([email protected]$stmt->bind_param('i', $product_id)){
throw new Exception('Bind error');
}
if(!$stmt->execute()){
throw new Exception('Execute error');
}
Si c'est le cas, comment puis-je récupérer des lignes dans des tableaux associatifs? Si je suis trop compliqué, comment dois-je procéder?
Je ne voulais pas dire toutes les lignes à la fois, juste rangée par ligne, comme MySQLi_Result :: fetch_assoc(). Merci pour le lien: Je ne pouvais pas trouver un moyen d'obtenir un MySQLi_Result à partir d'un MySQLi_STMT et il semble que ... vous ne pouvez pas! Dieu merci, le projet est à un stade précoce et je peux encore me débarrasser de MySQLi. –
si vous pouvez aller avec pdo je le recommande fortement. – Galen
J'ai jeté MySQLi. Je ne peux plus retarder ce projet, donc je m'en tiendrai à ma bonne vieille classe personnalisée construite sur les fonctions MySQL habituelles. Au prochain projet, je vais essayer le PDO. –