Uncaught Error: Call to a member function fetch() on bool in?
Kann mir jemand sagen, was ich falsch gemacht habe?
<section claas="container" id="products">
<div class="row">
<?php while($row = $result->fetch()): ?>
<div class="col">
<?php include 'card.php' ?>
</div>
<?php endwhile; ?>
</div>
</section>
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.
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.
dann kommt bei mir ein syntax error, unexpected
Wenn du das so machst?
$db = new PDO($dsn,$username,$password);
$sql = "SELECT id,title,beschreibung,preis FROM `product`";
$result = $db->query($sql);
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.
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);
Dein Query beinhaltet mehrere Fehler. Du versuchst einen unvollständigen SQL-Query mit einem anderen zu mixen, der Tabellenname ist nicht komplett umklammert.
username password und dsn habe ich nicht mit drauf geschnitten
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.
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);