Maison > Article > base de données > Pourquoi est-ce que je reçois une « Erreur fatale : appel à la méthode non définie mysqli_stmt::fetch_array() » ?
mysqli_stmt::fetch_array() Erreur de méthode non définie résolue
Face à une erreur "Erreur fatale : Appel à la méthode non définie mysqli_stmt::fetch_array( )"? Cette erreur se produit lors de l'utilisation d'instructions préparées en PHP et de la tentative de récupération de données à l'aide de la méthode fetch_array(). Voici le correctif :
Dans votre code, vous utilisez mysqli_stmt::prepare() pour créer une instruction préparée. Après avoir exécuté l'instruction, vous essayez d'utiliser mysqli_stmt::fetch_array() pour récupérer les données dans un tableau associatif. Cependant, cette méthode n'est pas disponible pour les instructions préparées.
La méthode correcte pour récupérer les données d'une instruction préparée est mysqli_stmt::fetch(). 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()) { $data[] = array( 'label' => $row['job'] ); echo json_encode($data); } $sql->close(); $db->close();</code>
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!