簡體   English   中英

為什么我的價值觀沒有得到更新?

[英]Why are my values not being updated?

我有一個正在學習的簡單,不安全的本地數據庫(是的,現在仍在使用MySQL),我可以查看表中的數據庫行,然后單擊“編輯”按鈕,然后顯示一個選擇的單個記錄,其中每個列都位於文本框進行更新和保存。 這是我的編輯頁面。

<?php
$id = $_GET['id'];
$connect = mysql_connect("localhost", "XXXXXX", "XXXXXXX") or
die ("Check your connection.");
mysql_select_db("toner");
$quey1="select * from inventory where id ='".$id."'";
$result=mysql_query($quey1) or die(mysql_error());
?>
<html>
<form action="updateinfo.php" method="post">
<table>
<?php
while ($row=mysql_fetch_array($result))
{
?>
<tr>
  <td align="right">Partnumber:</td>
  <td align="left"><input type="text" name="partnumber" value="<?php echo $row['partnumber'];?>"/></td>
</tr> 
<tr>
  <td align="right">Description:</td>
  <td align="left"><input type="text" name="description" value="<?php echo $row['description'];?>"/></td>
</tr> 
<tr>
  <td align="right">Vendor:</td>
  <td align="left"><input type="text" name="vendor" value="<?php echo $row['vendor'];?>"/></td>
</tr> 
<tr>
  <td align="right">Price:</td>
  <td align="left"><input type="text" name="price" value="<?php echo $row['price'];?>"/></td>
</tr> 
<tr>
  <td align="right">Quantity:</td>
  <td align="left"><input type="text" name="quantity" value="<?php echo $row['quantity'];?>"/></td>
</tr> 
</table>
<br>
<input type="hidden" name="id" value="<?php echo $row['id'];?>"/>
<input type="submit" value="Edit/Update Toner">
<?php
 }
?> 
</form>
</html>

這是我的更新updateinfo

<?php
mysql_connect("localhost","XXXXX","XXXXX") or die("Error: ".mysql_error()); 
mysql_select_db("toner");
$id =$_POST['id'];
$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 id ='".$id."'";
mysql_query($sql) or die ("Error: ".mysql_error());
echo "Updated successfully";
header( "refresh:10;url=toner.php" );
?>

添加主鍵后,我可以更新數據庫,但是$ id = $ _POST ['id']; 仍然給出錯誤,感謝您的協助。 謝謝。 是的,我知道它很容易被注入,因此我應該使用PDO或MySQLi,但我仍然是一個初學者,這是我選擇開始學習的地方。 謝謝。

問題是由於partnumber ,在這里您要重新設置partnumber但是數據庫中不存在新的部件號,並且由於該查詢不會更新新值。

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

不要再次設置partnumber ,僅在where子句中使用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM