Heim > Backend-Entwicklung > PHP-Tutorial > Warum erhalte ich in meinem PDO-Code die Meldung „Aufruf einer Member-Funktion Prepare() für ein Nicht-Objekt'?

Warum erhalte ich in meinem PDO-Code die Meldung „Aufruf einer Member-Funktion Prepare() für ein Nicht-Objekt'?

Mary-Kate Olsen
Freigeben: 2024-11-19 19:36:03
Original
764 Leute haben es durchsucht

Why Am I Getting

PDO-Aufruf zur Member-Funktion „Vorbereiten“ für ein Nicht-Objekt: Ursachen und Lösungen

Beim Versuch, die Methode „prepare()“ des zu verwenden Wenn Sie ein PDO-Objekt verwenden, kann ein Fehler auftreten: „Aufruf einer Member-Funktion „prepare()“ für ein Nicht-Objekt.“ Dieser Fehler weist darauf hin, dass das $pdo-Objekt innerhalb der Funktion, die das Problem verursacht, nicht ordnungsgemäß initialisiert ist.

Im bereitgestellten Codeausschnitt deklariert die repetirDados()-Funktion das $pdo-Objekt nicht und übergibt es nicht als Parameter . Um diesen Fehler zu beheben, können Sie entweder:

  • Das PDO-Objekt als Parameter übergeben:
    Die Funktionsdefinition so ändern, dass sie das $pdo-Objekt als Argument einschließt, um sicherzustellen dass es beim Aufruf an die Funktion übergeben wird.
  • Deklarieren Sie das PDO-Objekt global: (Nicht empfohlen)
    Sie können das $pdo-Objekt im globalen Namespace deklarieren und es zugänglich machen zur Funktion durch Hinzufügen von global $pdo; am Anfang der Funktion. Dieser Ansatz wird jedoch nicht bevorzugt, da er zu potenziellen Konflikten führen kann, wenn anderer Code auf dieselbe globale Variable zugreift.

PDO-Äquivalent von MySQL-Funktionen

Sie haben sich auch nach dem PDO-Äquivalent der MySQL-Funktion mysql_num_rows erkundigt. PDO bietet eine alternative Methode namens rowCount(), die denselben Zweck erfüllt. Es gibt die Anzahl der betroffenen Zeilen in der Ergebnismenge zurück, nachdem eine Abfrage ausgeführt wurde.

In Ihrem Code können Sie $stmt->rowCount() anstelle von $results == 0 verwenden, um zu überprüfen, ob Zeilen betroffen waren von der Abfrage zurückgegeben.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich in meinem PDO-Code die Meldung „Aufruf einer Member-Funktion Prepare() für ein Nicht-Objekt'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage