Lösung für PHP Schwerwiegender Fehler: Aufruf der undefinierten Methode mysqli::prepare()

WBOY
Freigeben: 2023-06-23 13:44:01
Original
1742 Leute haben es durchsucht

Wenn Sie die MySQL-Erweiterung zum Verbinden und Betreiben der MySQL-Datenbank verwenden, wird manchmal der Fehler PHP Fatal error: Call to undefined method mysqli::prepare() auftreten. Dieser Fehler wird normalerweise durch folgende Gründe verursacht:

  1. PHP unterstützt die MySQLi-Erweiterung nicht richtig;
  2. MySQL-Server ist nicht richtig geladen oder konfiguriert; nicht richtig konfiguriert oder wird ausgeführt
  3. Aus diesen Gründen werden die Lösungen im Folgenden vorgestellt.
Überprüfen Sie die PHP-Unterstützung für die MySQLi-Erweiterung.

    Zuerst müssen wir prüfen, ob PHP die MySQLi-Erweiterung aktiviert hat. Sie können PHP-Informationen über die MySQLi-Erweiterung über die Funktion phpinfo() erhalten. Die Methode ist wie folgt:
  1. 1) Erstellen Sie eine PHP-Datei mit dem Namen phpinfo.php und kopieren Sie den folgenden Code hinein:
<?php
phpinfo();
?>
Nach dem Login kopieren

2) Laden Sie diese PHP-Datei in das Stammverzeichnis der Website hoch und geben Sie http:/ ein. / Greifen Sie im Browser /yourdomain.com/phpinfo.php auf die Datei zu.

3) Überprüfen Sie auf der PHP-Informationsseite, ob die Erweiterung „mysqli“ geladen wurde. Wenn nicht, müssen Sie die MySQLi-Erweiterung in der Datei php.ini aktivieren.

Konfigurieren der Mysqli-Erweiterung

    Wenn Sie bestätigt haben, dass die Mysqli-Erweiterung unterstützt wird, aber der Fehler PHP Fatal error: Call to undefined method mysqli::prepare() weiterhin auftritt, müssen Sie überprüfen, ob die Mysqli-Erweiterung unterstützt wird richtig konfiguriert.
  1. Überprüfen Sie zunächst, ob die MySQLi-Erweiterung korrekt geladen wurde. Sie können dies bestätigen, indem Sie in der PHP-Konfigurationsdatei php.ini nach dem folgenden Code suchen:

extension=mysqli.so

Wenn der obige Code nicht gefunden wird, müssen Sie den Ladepfad der mysqli-Erweiterung in php.ini festlegen .

Als nächstes müssen wir prüfen, ob die beim Herstellen einer Verbindung zur Datenbank verwendeten Parameter korrekt sind. Normalerweise erfordert eine MySQL-Verbindung 4 Parameter: Hostname, Benutzername, Passwort und Datenbankname. Stellen Sie sicher, dass diese 4 Parameter richtig konfiguriert sind. Zum Beispiel:

$host = 'localhost';
$username = 'user';
$password = 'pwd';
$database_name = 'testdb';

$conn = new mysqli($host, $username, $password, $database_name);
Nach dem Login kopieren

Wenn die MySQLi-Erweiterung schließlich nicht richtig konfiguriert ist, können Sie versuchen, die MySQLi-Version manuell im Code zu konfigurieren. Zum Beispiel:

$conn = new mysqli();
$conn -> init();
$conn -> options(MYSQLI_OPT_CONNECT_TIMEOUT, 5);
$conn -> real_connect($host, $username, $password, $database_name);
Nach dem Login kopieren

Überprüfen Sie die PHP-Code-Syntax

    Wenn bei Verwendung der MySQLi-Erweiterung Syntaxfehler im PHP-Code vorhanden sind, wird auch der Fehler PHP Fatal Error: Call to undefined method mysqli::prepare() verursacht. . Daher müssen wir unseren Code auf Syntaxfehler überprüfen.
  1. Sie können einen Code-Editor oder ein IDE-Tool verwenden, um eine Syntaxprüfung durchzuführen, insbesondere um zu überprüfen, ob Semikolons, nicht übereinstimmende Klammern usw. fehlen.

MySQL-Server überprüfen

    Wenn die oben genannten Maßnahmen das Problem immer noch nicht lösen können, müssen Sie überprüfen, ob der MySQL-Server läuft und korrekt konfiguriert wurde.
  1. Überprüfen Sie zunächst, ob der MySQL-Server gestartet wurde. Sie können dies am Terminal mit dem folgenden Befehl überprüfen:
sudo service mysql status
Nach dem Login kopieren

Wenn Sie MariaDB verwenden, können Sie den folgenden Befehl ausprobieren:

sudo service mariadb status
Nach dem Login kopieren

Wenn der MySQL- oder MariaDB-Dienst ausgeführt wird, müssen Sie überprüfen, ob die MySQL-Datenbank korrekt konfiguriert ist . Mit dem MySQL-Client können Sie sich bei der MySQL-Datenbank anmelden und prüfen, ob die benötigte Datenbank und Tabellen vorhanden sind.

mysql -u username -p
Nach dem Login kopieren

Geben Sie Ihr Passwort ein und sehen Sie sich die aktuelle Datenbank an:

SHOW DATABASES;
Nach dem Login kopieren

Wenn Ihre Datenbank nicht in der Liste ist, müssen Sie sie manuell erstellen.

Wenn Sie den MySQL-Server und die Datenbank richtig konfiguriert haben, liegt das Problem höchstwahrscheinlich im PHP-Teil. Sie können überprüfen, ob der PHP-Code die mysqli-Klasse und ihre Methoden korrekt aufruft.

Zusammenfassung

Wenn bei Verwendung der Mysqli-Erweiterung ein PHP-Schwerwiegender Fehler: Aufruf der undefinierten Methode mysqli::prepare() auftritt, müssen Sie zunächst prüfen, ob PHP die Mysqli-Erweiterung unterstützt und ob die Mysqli-Erweiterung geladen und konfiguriert ist korrekt ist und ob der PHP-Code Syntaxfehler aufweist und ob die MySQL-Datenbank korrekt konfiguriert ist. Erst wenn die oben genannten Probleme behoben sind, können Sie mit der Behebung anderer Probleme fortfahren.

Das obige ist der detaillierte Inhalt vonLösung für PHP Schwerwiegender Fehler: Aufruf der undefinierten Methode mysqli::prepare(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage