php - 更新语句不更新表而是将新条目插入表中

标签 php html mysql

我一直想不通为什么我的更新语句不会更新表行而是创建一个新行。我有一个 ID 列,它是唯一标识符并且是 auto_increment,我只是不确定您是否可以按照我尝试的方式更新 auto_incremented 数据集。

我有一个表单,可以将数据库中的数据回显到字段中,然后使用它来编辑字段并更新它们。

代码:

<?php
$EntryID = $_GET['Eid'];
$IDlist = mysql_query("SELECT * FROM BD WHERE Id='$EntryID'");
$IDresults = mysql_fetch_array($IDlist);

$update_query = "UPDATE `BD` SET `Id` ='$IDresults['Id']',`EntryTitle` = '$MyTitle',`EntryDescription` = '$MyDescription',`Category` = '$MyCategory' WHERE `Id` ='$EntryID'";
mysql_query($update_query);

if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
else{
header('location: /admin/bd-edit-entry.php?sub=1');
exit();
  }
mysql_close($con);
?>

任何帮助或建议都会很棒。

最佳答案

SET `Id` ='$IDresults['Id']'

应该是:

SET `Id` ='$IDresults[Id]'

SET `Id` ='{$IDresults['Id']}'

如果您打开错误报告,您应该会收到有关错误索引的错误。

或者您可以完全不更新此列,因为此列不会更改。

关于php - 更新语句不更新表而是将新条目插入表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13299921/

相关文章:

php - 在 laravel 项目中上传到 linux 服务器时出现问题

html - 在问题和答案周围创建边框

css - 如何使 div 垂直填充其父元素?

php - 选择SQL查询从多个表中获取数据并在一张表中查看

php - 使用 POST 将数据插入数据库

php - MySQL:使用 CASE/ELSE 值作为连接参数

php - WooCommerce:如何在价格前和促销价前添加文本?

php - 如何持续更新页面的一部分

php - PHP 中的空格和空格有什么区别?

javascript - 单击按钮后永久删除计时器