Maison >développement back-end >tutoriel php >Pourquoi mon code PHP MySQLi renvoie-t-il une erreur « Appel à la méthode non définie mysqli_stmt::get_result() » ?

Pourquoi mon code PHP MySQLi renvoie-t-il une erreur « Appel à la méthode non définie mysqli_stmt::get_result() » ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-26 21:11:10641parcourir

Why Does My PHP MySQLi Code Throw a

MySQLi : Résolution de l'erreur "Appel à la méthode non définie mysqli_stmt::get_result()

En PHP, lors de l'exécution d'une requête MySQL avec MySQLi, l'erreur "Appel à la méthode non définie mysqli_stmt::get_result()" peut survenir. Ce problème se produit généralement lorsque le. Le pilote natif MySQL (mysqlnd) n'est pas installé.

Considérez l'extrait de code suivant :

$stmt = $conn->mysqli->prepare($query);
$stmt->bind_param('sss', $_POST['EmailID'], $_POST['SLA'], $_POST['Password']);
$stmt->execute();
$result = $stmt->get_result();

Dans cet exemple, la ligne $result = $stmt->get_result(); l'erreur "Appel à la méthode non définie mysqli_stmt::get_result()" est due au fait que la méthode get_result() nécessite mysqlnd. pilote, qui n'est pas toujours installé sur l'environnement d'hébergement Web.

Pour remédier à ce problème, assurez-vous que le pilote mysqlnd est activé. Vous pouvez vérifier son installation en vérifiant la sortie phpinfo() ou en utilisant une commande telle que :

php -i | grep mysqlnd

Si le pilote mysqlnd n'est pas installé, suivez ces étapes :

Pour les applications basées sur Debian systèmes :

sudo apt-get install php-mysqlnd

Pour les systèmes basés sur Red Hat :

sudo yum install php-mysqlnd

Pour Mac OS X utilisant Homebrew :

brew install php-mysqlnd

Pour les systèmes Windows :

Installez le dernière version de PHP avec le pilote mysqlnd activé.

Après avoir installé le pilote mysqlnd, il est nécessaire de redémarrer le serveur web pour charger les modifications. Une fois le pilote installé et activé, la méthode get_result() fonctionnera correctement.

Alternativement, si mysqlnd ne peut pas être installé, vous pouvez utiliser les méthodes bind_result() et fetch() pour récupérer les résultats de la requête. . Ces méthodes sont moins efficaces que get_result() mais ne nécessitent pas le pilote mysqlnd.

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