首先我知道我需要使用更好的MySQL注入,我打算稍後。php更新腳本,只更新最後一條記錄
好的,我有一個表單,我可以在那裏更新MySQL數據庫的記錄。
但是,我無法獲得更新按鈕,除了最後一條記錄以外的任何記錄,即使我刪除該記錄,它仍然是可以更新的表單底部的最後一條記錄。
繼承人的代碼:
<?php
$link = mysql_connect ("localhost", "root", "password");
mysql_select_db ("cardatabase");
$query = "SELECT * from cars";
$result = mysql_query ($query, $link);
if(isset($_POST['update'])){
$updatequery = "UPDATE cars SET
ID='$_POST[id]',
CARMAKE='$_POST[carmake]',
CARMODEL='$_POST[carmodel]',
FUELTYPE='$_POST[fueltype]',
TRANSMISSION='$_POST[transmission]',
DOORS='$_POST[doors]',
AMOUNT='$_POST[amount]',
AVAILABLE='$_POST[available]'
WHERE ID='$_POST[hidden]'";
mysql_query($updatequery, $link);
};
echo "<table cellspacing=3 border=1 style='font-size:13px;background-color:white;'>
<form action=update.php method=post>
<tr style='background-color:#38C0CC;'>
<td>ID</td>
<td>Make</td>
<td>Model</td>
<td>Fuel Type</td>
<td>Transmission</td>
<td>Engine Size</td>
<td>Doors</td>
<td>Amount</td>
<td>Available</td>
</tr>";
while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>"."<input type=text name=id value=" . $row[ID] . " </td>";
echo "<td>"."<input type=text name=carmake value=" . $row[CARMAKE] . " </td>";
echo "<td>"."<input type=text name=carmodel value=" . $row[CARMODEL] . " </td>";
echo "<td>"."<input type=text name=fueltype value=" . $row[FUELTYPE] . " </td>";
echo "<td>"."<input type=text name=transmission value=" . $row[TRANSMISSION] . " </td>";
echo "<td>"."<input type=text name=enginesize value=" . $row[ENGINESIZE] . " </td>";
echo "<td>"."<input type=text name=doors value=" . $row[DOORS] . " </td>";
echo "<td>"."<input type=text name=amount value=" . $row[AMOUNT] . " </td>";
echo "<td>"."<input type=text name=available value=" . $row[AVAILABLE] . " </td>";
echo "<td>"."<input type=hidden name=hidden value=" . $row[ID] . " </td>";
echo "<td>"."<input type=submit name=update value=Update" . " </td>";
echo "</tr>";
}
echo "</form>";
echo "</table>";
mysql_close ($link);
?>
這裏是MySQL表的圖片:
另外值得一提的是,你不需要進行如此多的連接。而且你沒有在這個代碼中關閉你的輸入標籤!示例td行應該如下所示:echo「」; –
您是否試圖顯示'$ _POST [hidden]'變量或整個$ updatequery變量,以查看您的變量是否被正確替換 – S3ddi9