我有一個示例php的輸入表單。爲什麼不在數據庫上保存?
<form action="insert.php" method="post">
<table>
<tr>
<td>First Name:</td>
<td><input type="text" id="fname" name="fname" /></td>
</tr>
<tr>
<td>Last Name:</td>
<td><input type="text" id="lname" name="lname" /></td>
</tr>
<tr>
<td>Age:</td>
<td><input type="text" id="age" name="age" /></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" value="Add Person!" /></td>
</tr>
</table>
</form>
和insert.php是這樣
<?php
$host = "localhost";
$user = "root";
$pass = "";
$con = mysql_connect($host, $user, $pass);
$db = "phptest";
if(!$con)
{
die("Could not connect: " . mysql_error());
}
mysql_select_db($db,$con);
$sql = "INSERT INTO persons (FirstName,LastName,Age) VALUES ('$_POST[fname]','$_POST[lname]','$_POST[age]')";
mysql_query($sql,$con);
mysql_close($con);
?>
它工作正常的第一個輸入。當我輸入另一個值並按提交按鈕時,數據不會保存到數據庫中。在數據庫中,它只顯示1行填充我的第一個輸入。 insert.php的代碼有什麼問題?謝謝。
切勿將$ _POST數據直接送入mysql查詢。首先使用mysql_real_escape_string退出輸入。 – matzahboy
如果您得到Little Bobby Tables,您需要對輸入信息進行santize。 –
我明白了,那是w3school的樣本。我只是複製它 – Ryan