0

我有一个正在学习的简单、不安全的本地数据库(是的,目前仍在使用 MySQL)我可以在表中查看我的数据库行,然后单击一个编辑按钮,该按钮然后显示在每列中选择的单个记录文本框更新和保存。

这是我的编辑页面的一部分,它显示了五个文本框,我正在尝试使用这些文本框来更新数据库

<?php
while ($row=mysql_fetch_array($result))
{
?>
<form action="updateinfo.php" method="post">
<tr>
  <td align="right">Partnumber:</td>
  <td align="left"><input type="text" name="partnumber" value="<?php echo $row['partnumber'];?>"/></td>
</tr> 

这是我的更新信息

<?php
mysql_connect("localhost","name","password") or die("Error: ".mysql_error()); 
mysql_select_db("toner");

$partnumber  = $_POST['partnumber'];
$description = $_POST['description'];
$vendor      = $_POST['vendor'];
$price       = $_POST['price'];
$quantity    = $_POST['quantity'];
$sql         = "UPDATE inventory SET partnumber ='".$partnumber."',description ='".$description."',vendor ='".$vendor."',price ='".$price."',quantity ='".$quantity."' WHERE partnumber = '".$partnumber ."'";

mysql_query($sql) or die ("Error: ".mysql_error());
echo "Database updated.";
header( "refresh:5;url =toner.php" );
?>

它显示数据库已更新但未进行任何更改,感谢任何帮助,是的,我知道它容易受到注入,我应该使用 PDO 或 MySQLi,但我仍然是初学者,这就是我选择的地方开始学习。谢谢你。

4

2 回答 2

0
<?php
while ($row=mysql_fetch_array($result))
{
?>
<form action="updateinfo.php" method="post"
<tr>
  <td align="right">Partnumber:</td>
  <td align="left"><input type="text" name="partnumber" value="<?php echo $row['partnumber'];?>"/></td>
</tr> 

如果此循环运行 5 次:

  1. 您正在创建 5 个不同的表单,但没有</form>
  2. 您只发布一个字段partnumber
  3. 在您的 UPDATE 查询中,partnumber 使用相同的 partnumber 进行更新,因此由于没有发布其他字段,因此看不到任何更改
于 2013-02-04T09:23:40.293 回答
-1

而不是这个

<form action="updateinfo.php" method="post"

$sql = "UPDATE inventory SET partnumber ='".$partnumber."',description ='".$description."',vendor ='".$vendor."',price ='".$price."',quantity ='".$quantity."' WHERE partnumber = '".$partnumber ."'";

用这个 :

<form action="updateinfo.php" method="post">

$sql = "UPDATE inventory SET partnumber ='".$partnumber."',description ='".$description."',vendor ='".$vendor."',price ='".$price."',quantity ='".$quantity."' WHERE partnumber = '".$partnumber."'";

删除空间'".$partnumber ."'

现在试试也许它会帮助你。

于 2013-02-04T09:23:12.647 回答