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() » ?

Pourquoi est-ce que je reçois une « Erreur fatale : appel à la méthode non définie mysqli_stmt::fetch_array() » ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-31 14:36:02394parcourir

Why am I getting a

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!

Déclaration:
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