Heim >Backend-Entwicklung >PHP-Tutorial >Warum löst mein PHP-MySQLi-Code den Fehler „Aufruf der undefinierten Methode mysqli_stmt::get_result()' aus?

Warum löst mein PHP-MySQLi-Code den Fehler „Aufruf der undefinierten Methode mysqli_stmt::get_result()' aus?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-26 21:11:10563Durchsuche

Why Does My PHP MySQLi Code Throw a

MySQLi: Behebung des Fehlers „Aufruf der undefinierten Methode mysqli_stmt::get_result()“

In PHP, wenn eine MySQL-Abfrage mit MySQLi ausgeführt wird, Der Fehler „Aufruf der undefinierten Methode mysqli_stmt::get_result()“ kann typischerweise auftreten tritt auf, wenn der native MySQL-Treiber (mysqlnd) nicht installiert ist.

Beachten Sie den folgenden Codeausschnitt:

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

In diesem Beispiel ist $result = $stmt->get_result() ;-Zeile löst den Fehler „Aufruf der undefinierten Methode mysqli_stmt::get_result()“ aus. Dies liegt daran, dass die Methode get_result() dies erfordert der mysqlnd-Treiber, der nicht immer in der Webhosting-Umgebung installiert ist.

Um dieses Problem zu beheben, stellen Sie sicher, dass der mysqlnd-Treiber aktiviert ist. Sie können seine Installation überprüfen, indem Sie die phpinfo()-Ausgabe überprüfen oder einen Befehl verwenden wie:

php -i | grep mysqlnd

Wenn der mysqlnd-Treiber nicht installiert ist, befolgen Sie diese Schritte:

Für Debian-basierte Systeme:

sudo apt-get install php-mysqlnd

Für Red Hat-basierte Systeme:

sudo yum install php-mysqlnd

Für Mac OS X mit Homebrew:

brew install php-mysqlnd

Für Windows Systeme:

Installieren Sie die neueste Version von PHP mit aktiviertem mysqlnd-Treiber.

Nach der Installation des mysqlnd-Treibers ist es notwendig, den Webserver neu zu starten, um die Änderungen zu laden. Sobald der Treiber installiert und aktiviert ist, funktioniert die Methode get_result() ordnungsgemäß.

Wenn mysqlnd nicht installiert werden kann, können Sie alternativ die Methoden bind_result() und fetch() verwenden, um die Ergebnisse der Abfrage abzurufen . Diese Methoden sind weniger effizient als get_result(), erfordern aber keinen mysqlnd-Treiber.

Das obige ist der detaillierte Inhalt vonWarum löst mein PHP-MySQLi-Code den Fehler „Aufruf der undefinierten Methode mysqli_stmt::get_result()' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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