PHP, MySQL Fehler: "Invalid argument supplied for foreach()"?
Hey.
Bei der Abfrage und Ausgabe von Daten meiner Datenbank kommt eine Fehlermeldung:
Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\phpform\phpform.php on line 30
Mein Code ist folgender:
$sql="SELECT * FROM lizenzübersicht WHERE _NAME = Brinkmann";
foreach ($pdo->query($sql) as $row) {
echo "LIZENZÜBERSICHT FÜR FIRMA: ".$row['_FIRMA']."<br /><br />";
echo "Lizenzschlüssel: ".$row['_LIZENZSCHLUESSEL']."<br />";
echo "Produkt-ID: ".$row['_PRODUKTID']."<br />";
echo "Bezeichnung: ".$row['_BEZEICHNUNG']."<br />";
echo "Gültig bis: ".$row['_GUELTIGBIS']."<br />";
echo "Aktiv: ".$row['_AKTIV']."<br />";
echo "Anzuser: ".$row['_ANZUSER']."<br /><br /><br />";
}
Wenn ich "foreach ($pdo->query($sql) as $row)" aus dem Code nehme, kommt diese Meldung:
Notice: Undefined variable: row in C:\xampp\htdocs\phpform\phpform.php on line 32
LIZENZÜBERSICHT FÜR FIRMA:
Notice: Undefined variable: row in C:\xampp\htdocs\phpform\phpform.php on line 33
Lizenzschlüssel:
Notice: Undefined variable: row in C:\xampp\htdocs\phpform\phpform.php on line 34
Produkt-ID:
usw.
Danke für jede Hilfe und Antwort :)
1 Antwort
Dann kriegst du vermutlich false von query zurück, anstatt ein Iterable. Ich würde mal tippen, dass Brinkmann in einfache Anführungszeichen muss und ein String ist, sofern du keine Prepared Statements nutzt.
Ansonsten eben die PDO Error Funktionen hernehmen und schauen was los ist oder sofern PDO::ERRMODE_EXCEPTION genutzt wird das alles in ein try-catch Block und dort dann den Fehler auswerten.
Im Idealfall eben eine Kombination aus beiden, Prepared Statements und arbeiten mit den PDO Exceptions