Aufruf der Member-Funktion „prepare()“ für ein Nicht-Objekt in PDO
Diese Frage dreht sich um einen Fehler, der bei der Verwendung der PDO-Erweiterung aufgetreten ist für PHP. Der Fehler deutet darauf hin, dass die Prepare()-Methode für ein Nicht-Objekt aufgerufen wurde.
Mögliche Ursache
Die Hauptursache für diesen Fehler liegt in der undefinierten $pdo-Variablen . Es muss unbedingt sichergestellt werden, dass $pdo ordnungsgemäß definiert oder als Argument an die Funktion übergeben wird, in der die Prepare()-Methode verwendet wird.
Alternative Lösung
Alternativ , können Sie global $pdo; am Anfang der Funktion, um aus dem globalen Bereich auf die Variable $pdo zuzugreifen. Dieser Ansatz gilt jedoch als weniger wünschenswert, da er die Codemodularität nicht fördert.
Entspricht mysql_num_rows
Da es sich bei PHP Data Objects (PDO) um eine fortgeschrittenere Datenbank handelt Obwohl die Abstraktionsebene höher ist als die mittlerweile veraltete MySQLi-Erweiterung, bietet sie kein direktes Äquivalent zu mysql_num_rows. Sie können jedoch mit rowCount() die Anzahl der von einer Abfrage betroffenen oder von einer Anweisung abgerufenen Zeilen ermitteln.
Sie können beispielsweise Ihren Code ändern, um die Anzahl der betroffenen Zeilen abzurufen:
$ok = $stmt->execute(); $rowCount = $stmt->rowCount();
Das obige ist der detaillierte Inhalt vonWarum erhalte ich in PDO die Meldung „Aufruf der Member-Funktion „prepare()' für ein Nicht-Objekt'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!