Heim >Backend-Entwicklung >PHP-Tutorial >Warum löst meine MySQLi-Aktualisierungsfunktion den Fehler „Aufruf einer Mitgliedsfunktion bind_param()' aus?

Warum löst meine MySQLi-Aktualisierungsfunktion den Fehler „Aufruf einer Mitgliedsfunktion bind_param()' aus?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-08 00:51:11965Durchsuche

Why Does My MySQLi Update Function Throw a

Mysqli-Aktualisierungsfunktion löst den Fehler „Aufruf einer Mitgliedsfunktion bind_param()“ aus

Problem

Beim Versuch, eine Tabelle mit der mysqli_update-Funktion zu aktualisieren , ist der folgende Fehler aufgetreten: „Aufruf einer Mitgliedsfunktion bind_param() auf a Nicht-Objekt.“

Analyse

Der Fehler weist darauf hin, dass das $stmt-Objekt, das zum Ausführen der vorbereiteten Anweisung verwendet wird, nicht ordnungsgemäß erstellt wurde. Dies kann durch ein Problem mit der Abfrage selbst verursacht werden.

Lösung

So beheben Sie dieses Problem:

1. Überprüfen Sie die Abfragesyntax

Stellen Sie sicher, dass die Abfragesyntax korrekt ist. Die Abfrage sollte den Tabellennamen, die SET-Klausel, die zu aktualisierenden Parameter und die WHERE-Klausel enthalten. Suchen Sie nach Tippfehlern oder fehlenden Elementen.

2. Auf Fehler prüfen

Verwenden Sie nach dem Vorbereiten der Anweisung die Eigenschaften „errno“ und „error“ des MySQLi-Objekts, um zu überprüfen, ob bei der Vorbereitung der Anweisung Fehler aufgetreten sind. Wenn errno nicht 0 ist, konvertieren Sie die Fehlermeldung mit mysqli_error() und lösen Sie mit trigger_error() einen PHP-Fehler aus oder lösen Sie eine Ausnahme aus.

3. Ausführung der Anweisung bestätigen

Stellen Sie mithilfe von mysqli_execute() sicher, dass die vorbereitete Anweisung ordnungsgemäß ausgeführt wird. Überprüfen Sie nach der Ausführung der Anweisung mit mysqli_errno() und mysqli_error() auf Fehler während der Ausführung.

Hier ist ein Beispiel, wie Sie während der Anweisungsvorbereitung und -ausführung auf Fehler prüfen können:

if (!($stmt = $mysqli->prepare($query))) {
    trigger_error($mysqli->error . "[$query]");
}

if (!$stmt->execute()) {
    trigger_error($stmt->error . "[BIND PARAMS: $stmt->errno, EXECUTE: $mysqli->errno]");
}

Von Wenn Sie diese Schritte befolgen, können Sie sicherstellen, dass die Abfrage syntaktisch korrekt ist, etwaige Fehler während der Anweisungsvorbereitung identifizieren und die Ausführung der Anweisung bestätigen. Dies hilft, den Fehler „Aufruf einer Mitgliedsfunktion bind_param()“ beim Aktualisieren von Daten mit mysqli zu verhindern.

Das obige ist der detaillierte Inhalt vonWarum löst meine MySQLi-Aktualisierungsfunktion den Fehler „Aufruf einer Mitgliedsfunktion bind_param()' 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