Maison  >  Article  >  base de données  >  Pourquoi \"Erreur fatale : appel à la méthode non définie mysqli_stmt::fetch_array()\" se produit-il lors de l'utilisation d'instructions préparées ?

Pourquoi \"Erreur fatale : appel à la méthode non définie mysqli_stmt::fetch_array()\" se produit-il lors de l'utilisation d'instructions préparées ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-02 01:24:02397parcourir

Why Does

Correction de "Erreur fatale : appel à la méthode non définie mysqli_stmt::fetch_array() [duplicate]"

Dans votre code, vous êtes tenter d'utiliser mysqli_stmt::fetch_array() lors de l'utilisation d'instructions préparées. Cette fonction n'est pas disponible pour les instructions préparées.

Solution :

Au lieu de cela, vous devez utiliser mysqli_stmt::fetch() pour récupérer une seule ligne de données, ou mysqli_result ::fetch_all() pour récupérer plusieurs lignes.

Code révisé :

<code class="php">$search = "player";

$sql = $db->prepare('select job from jobs where job like ?');
$sql->bind_param('s', $search);
$sql->execute();
$result = $sql->get_result(); // Get the result object

$data = array();

while ($row = $result->fetch_assoc()) {
    $data[] = array(
        'label' => $row['job']
    );
    echo json_encode($data);
}

$sql->close();
$db->close();</code>

En utilisant mysqli_stmt::fetch_array() ou mysqli_result::fetch_assoc(), vous pouvez récupérer les données de la base de données avec succès sans rencontrer l'erreur.

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