Uncaught Error: Call to a member function fetch() on bool in?

2 Antworten

Du versuchst eine Methode auf $result aufzurufen, obwohl es sich dabei nicht um ein Objekt, sondern um einen bool handelt. Wahrscheinlich ist zuvor ein Fehler aufgetreten, weshalb $result false ist.


moritz12354 
Beitragsersteller
 05.02.2022, 02:28

Danke für die schnelle antwort aber eigentlich musste das passen

$db = new PDO($dsn,$username,$password);

$sql="SELECT id,title,beschreibung,preis,

SELECT * FROM `product";

$result = $db->query($sql);

0
321QWERTZ123  05.02.2022, 02:36
@moritz12354

Das ist kein syntaktisch valides SQL. Korrekt wäre z. B.

SELECT id,title,beschreibung,preis FROM `product`

oder

SELECT * FROM `product`

je nachdem, was du machen willst.

1
321QWERTZ123  05.02.2022, 02:57
@moritz12354

Wenn du das so machst?

$db = new PDO($dsn,$username,$password);
$sql = "SELECT id,title,beschreibung,preis FROM `product`";
$result = $db->query($sql);
1

Das Ergebnis deiner vorherigen SQL-Anfrage war nicht erfolgreich. Die Variable $result hat daher den Wert false, welcher wiederum über keine fetch-Methode verfügt.

Prüfe also einmal, wieso die Anfrage an die Datenbank fehlschlug und bau evt. auch eine Abfrage ein, die verhindert, dass bei einem Fehlschlag versucht wird, mit fetch weiterzuarbeiten.

PS.: Im obersten Element hast du class falsch geschrieben.


moritz12354 
Beitragsersteller
 05.02.2022, 02:28

Danke für die schnelle antwort aber eigentlich musste das passen

$db = new PDO($dsn,$username,$password);

$sql="SELECT id,title,beschreibung,preis,

SELECT * FROM `product";

$result = $db->query($sql);

0
regex9  05.02.2022, 02:32
@moritz12354

Dein Query beinhaltet mehrere Fehler. Du versuchst einen unvollständigen SQL-Query mit einem anderen zu mixen, der Tabellenname ist nicht komplett umklammert.

1
moritz12354 
Beitragsersteller
 05.02.2022, 02:36
@regex9

username password und dsn habe ich nicht mit drauf geschnitten

0
KarlRanseierIII  05.02.2022, 04:38
@moritz12354
Danke für die schnelle antwort aber eigentlich musste das passen

Offensichtlich nicht. spielt aber auch keien Rolle. Ordentliche Fehelrbehandlung ist unabdingbar, denn ein Query kann auch 'wenn es passt' aus verschiedenen Gründen scheitern.

1