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
Libérer: 2024-12-26 21:11:10
original
640 Les gens l'ont consulté

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();
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

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

sudo yum install php-mysqlnd
Copier après la connexion

Pour Mac OS X utilisant Homebrew :

brew install php-mysqlnd
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal