Maison >base de données >tutoriel mysql >Pourquoi est-ce que j'obtiens « Erreur fatale : appel à la méthode non définie mysqli_stmt::fetch_array() » ?
Comprendre le problème « Erreur fatale : appel à la méthode non définie mysqli_stmt::fetch_array() »
Lorsque vous travaillez avec des bases de données MySQL à l'aide de mysqli de PHP extension, les développeurs peuvent rencontrer le message « Erreur fatale : appel à une méthode non définie mysqli_stmt::fetch_array()" erreur. Cette erreur se produit lors de la tentative de récupération de données à partir d'une instruction préparée à l'aide de la méthode fetch_array(), qui n'est pas disponible pour les instructions préparées.
Résolution du problème
Pour résoudre ce problème problème, il est nécessaire d'utiliser la méthode correcte pour récupérer les données des instructions préparées dans MySQLi. Au lieu de fetch_array(), vous devez utiliser soit fetch() pour récupérer un seul enregistrement, soit fetch_all() pour récupérer plusieurs enregistrements. Voici le code corrigé :
<code class="php">$search = "player"; ($sql = $db->prepare('select job from jobs where job like ?')); $sql->bind_param('s', $search); $sql->execute(); $sql->bind_result($search); $data = array(); while ($sql->fetch(MYSQLI_ASSOC)) { $data[] = array( 'label' => $row['job'] ); echo json_encode($data); } $sql->close(); $db->close();</code>
En utilisant la méthode correcte, mysqli_stmt::fetch(), l'erreur peut être éliminée et les données peuvent être récupérées avec succès à partir de l'instruction préparée dans MySQLi.
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!