Maison  >  Article  >  développement back-end  >  Solution à l'erreur fatale PHP : appel à la méthode non définie mysqli::stmt_init()

Solution à l'erreur fatale PHP : appel à la méthode non définie mysqli::stmt_init()

王林
王林original
2023-06-22 15:33:171609parcourir

Lors de l'utilisation de PHP pour les opérations de base de données MySQL, nous rencontrons souvent l'erreur "Erreur fatale PHP : appel à la méthode non définie mysqli::stmt_init()". Cette erreur est généralement causée par PHP qui ne charge pas correctement la bibliothèque d'extension MySQL ou provoquée. par incompatibilité des versions de la bibliothèque d'extension MySQL. Dans cet article, nous expliquerons comment résoudre ce problème.

Première étape : Vérifiez si PHP charge correctement la bibliothèque d'extensions MySQL

En PHP, nous pouvons afficher les informations de configuration PHP actuelles via la fonction phpinfo(). Ouvrez le terminal et entrez la commande suivante pour afficher les informations de configuration PHP actuelles :

php -r "phpinfo();"

Après avoir exécuté cette commande, les informations de configuration PHP seront affichées. Nous devons confirmer si la bibliothèque d'extension MySQL a été chargée. .

Vous pouvez rechercher mysqli via Ctrl + F. S'il n'est pas trouvé, cela signifie que la bibliothèque d'extension MySQL n'est pas chargée et vous devez d'abord installer la bibliothèque d'extension MySQL.

Étape 2 : Installer la bibliothèque d'extension MySQL

Selon votre situation réelle, vous pouvez installer la bibliothèque d'extension MySQL des deux manières suivantes :

#🎜🎜 # Première méthode : utilisez la ligne de commande pour installer la bibliothèque d'extension MySQL

Ubuntu/Debian system

sudo apt-get update
sudo apt-get install php-mysql

CentOS/RHEL system

sudo yum update
sudo yum install php-mysql

Deuxième méthode : Compilation et installation manuelles de l'extension MySQLi

Si la commande ci-dessus ne peut pas être exécutée, vous pouvez choisir de compiler et d'installer manuellement l'extension. Prenons l'exemple du système Ubuntu :

sudo apt-get update
sudo apt-get install php7.2-dev libmysqlclient-dev
sudo pecl channel-update pecl.php.net
sudo pecl install mysqlnd_ms

Notez que php7.2-dev dans la commande ci-dessus doit être modifié avec la version PHP actuellement utilisée, si ce n'est pas le cas. installé, il ne réussira pas à compiler.

Une fois l'installation terminée, vous devez ajouter les informations de configuration suivantes dans php.ini :

extension=mysqlnd_ms.so

Étape 3 : Redémarrez le service Apache

#🎜🎜 # Lors de l'installation Après la bibliothèque d'extension MySQL, vous devez redémarrer le service Apache pour qu'il prenne effet :

Ubuntu/Debian system

sudo /etc/init.d/apache2 restart

CentOS/RHEL system#🎜🎜 #
sudo systemctl restart httpd

Complétez les trois ci-dessus. Après ces étapes, exécutez à nouveau le programme et vous pourrez vous connecter normalement à la base de données MySQL pour les opérations.

Résumé :

Lors de l'utilisation de PHP pour les opérations de base de données MySQL, il est facile de rencontrer l'erreur « Erreur fatale PHP : appel à la méthode non définie mysqli::stmt_init() ». Cette erreur est généralement causée par PHP qui ne charge pas correctement la bibliothèque d'extension MySQL ou par l'incompatibilité de la version de la bibliothèque d'extension MySQL. Pour résoudre ce problème, nous pouvons confirmer si la bibliothèque d'extension MySQL a été chargée correctement en vérifiant les informations renvoyées par la fonction phpinfo(). Si elle n'est pas chargée correctement, vous devez installer la bibliothèque d'extension MySQL via la ligne de commande ou manuellement. compilez-le et installez-le ; une fois l’installation terminée, vous devez redémarrer le service Apache pour prendre effet.

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