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

Pourquoi est-ce que j'obtiens « Erreur fatale : appel à la méthode non définie mysqli_stmt::fetch_array() » ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-02 10:38:30424parcourir

Why Am I Getting

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!

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