Da ich in PHP und SQLite-DB mit PDO nicht so gut bin, stelle ich hier meine Frage.
Ich möchte mit einem PHP-Formular Daten in eine SQLite-DB reinschreiben und diese via einer HTML-Seite wieder anzeigen lassen. Dafür habe ich aus dem einten und anderen Beispiel aus dem Netz was zusammengestellt. Im PHP-Script hat es jetzt noch einen Fehler, kriege ihn aber nicht raus. Die Fehlermeldung ist:
Warning: Invalid argument supplied for foreach() in C:\wamp\www\sqlite_test\php_5.php on line 18
Kann mir jemand weiterhelfen?
Es grüsst
Thomy
Hier die Scripts
das Formular
- Code: Select all
<html>
<head>
</head>
<body>
<form action="php_5.php" method="POST">
<table>
<tr>
<td>Name:</td><td><input name="name"/></td>
</tr>
<tr>
<td>Email:</td><td><input name="email"/></td>
</tr>
<tr>
<td>Kommentar:</td><td><textarea name="kommentar"></textarea></td>
</tr>
<tr>
<td></td><td><input type="submit" value="Submit"/></td>
</tr>
</table>
</form>
</body>
</html>
Hier das PHP-Script dazu
- Code: Select all
<?php
try
{
//DB öffnen
$db = new PDO('sqlite:test_5.db');
$name = $_POST["name"];
$email = $_POST["email"];
$comments = $_POST["kommentar"];
//Daten aus Formular in DB einfügen
$db->exec("INSERT INTO feedback (name, email,kommentar) VALUES ('&name', '&email','&kommentar');");
//Daten als html-Datei anzeigen lassen
print "<table border=1>";
print "<tr><td>Id</td><td>Name</td><td>Email</td><td>Kommentar</td></tr>";
$result = $db->query('SELECT * FROM test_5');
foreach($result as $row)
{
print "<tr><td>".$row['feedbackid']."</td>";
print "<td>".$row['name']."</td>";
print "<td>".$row['email']."</td>";
print "<td>".$row['kommentar']."</td>";
}
print "</table>";
$db = NULL;
}
catch(PDOException $e)
{
print 'Exception : ' .$e->getMessage();
}
?>