我一直在努力通過PHP和SQLite一點點,現在我只是困惑自己。
我有accessess稱爲processFeedback.php.My的html代碼PHP腳本看起來像這樣的HTML表單..PHP SQlite數據庫表格
<html>
<head>
</head>
<body>
<form action="processFeedback.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>Comments:</td><td><textarea name="comments"></textarea></td>
</tr>
<tr>
<td></td><td><input type="submit" value="Submit"/></td>
</tr>
</table>
</form>
</body>
</html>
和我的PHP文件看起來像這樣...
<?php
try
{
//open the database
$db = new PDO('sqlite:feedback.db');
$name = $_POST["name"];
$email = $_POST["email"];
$comments = $_POST["comments"];
//Insert record
$db->exec("INSERT INTO feedback (name, email,comments) VALUES ('&name', '&email','&comments');");
//now output the data to a simple html table...
print "<table border=1>";
print "<tr><td>Id</td><td>Name</td><td>Email</td><td>Comments</td></tr>";
$result = $db->query('SELECT * FROM feedback');
foreach($result as $row)
{
print "<tr><td>".$row['feedbackid']."</td>";
print "<td>".$row['name']."</td>";
print "<td>".$row['email']."</td>";
print "<td>".$row['comments']."</td>";
}
print "</table>";
$db = NULL;
}
catch(PDOException $e)
{
print 'Exception : ' .$e->getMessage();
}
?>
而且這裏是我的表的創建方法......
CREATE TABLE feedback (feedbackid INTEGER PRIMARY KEY,name TEXT,email TEXT,comments TEXT);
的形式輸出表頭也,我使用終端,但它瓦特手動輸入記錄不要在???中插入記錄?任何人都能看到一個簡單的錯誤
迪斯科
請注意,請注意SQL注入:http://php.net/manual/en/security.database.sql-injection.php – Raoul
好吧,請牢記這一點。不過,我剛剛學習atm – StuStirling
我明白,這是一件值得早期學習的東西,請檢查它可能導致什麼問題。 – Raoul