Heim >Datenbank >MySQL-Tutorial >Warum erhalte ich bei vorbereiteten mysqli-Anweisungen die Meldung „Aufruf einer Mitgliedsfunktion „execute()' für ein Nicht-Objekt'?
Vorbereitete MySQL-Anweisungen verstehen
Das Vorbereiten von Anweisungen ist eine entscheidende Vorgehensweise zur Vermeidung von SQL-Injection-Schwachstellen. Ein häufiger Fehler, der bei der Verwendung von vorbereiteten MySQL-Anweisungen auftritt, ist jedoch der Empfang der Fehlermeldung „Aufruf einer Mitgliedsfunktion „execute()“ für ein Nicht-Objekt“.
Um dieses Problem zu beheben und vorbereitete MySQL-Anweisungen effektiv zu verwenden, müssen Sie Folgendes tun: Sie müssen Folgendes verstehen:
Hier ist ein Beispiel, um den gesamten Prozess zu veranschaulichen:
<?php // Connect to MySQL $mysqli = new mysqli("localhost", "root", "root", "test"); // Prepare statement $stmt = $mysqli->prepare("INSERT INTO users (name, age) VALUES (?, ?)"); // Bind parameters $name = 'one'; $age = 1; $stmt->bind_param('si', $name, $age); // Execute statement $stmt->execute(); // Insert another row with different values $name = 'two'; $age = 2; $stmt->bind_param('si', $name, $age); $stmt->execute(); ?>
Die Verwendung von MySQL für vorbereitete Anweisungen wird ohnehin dringend empfohlen die empfohlene Methode zum Schutz vor SQL-Injection in PHP. Das obige Beispiel deckt nicht nur die Verbindung, das Einfügen und die Auswahl ab, sondern bietet auch die Fehlerbehandlung.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich bei vorbereiteten mysqli-Anweisungen die Meldung „Aufruf einer Mitgliedsfunktion „execute()' für ein Nicht-Objekt'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!