php - 识别何时发生更新?

标签 php mysql

我用它来向数据库中添加或更新内容。

$update = mysql_query
("
    INSERT INTO details (id, name, team, cost) 
    VALUES ('$id', '$name', '$team', '$cost') 
    ON DUPLICATE KEY UPDATE cost = '$cost' 
") 
or die (mysql_error());

基本上,我想做.....

如果 $cost 发生变化,将旧值和新值回显到屏幕上,否则什么也不做。

我将如何做这样的事情?

最佳答案

首先你必须在临时变量中保持与你的id相对应的成本

$query        = "SELECT cost FROM details WHERE id = $id";
$resource     = mysql_query($query);
$temp_array   = mysql_fetch_assoc($resource);
$old_cost     = $temp_array['cost'];

现在执行你的操作

mysql_affected_rows 将在 DUPLICATE KEY UPDATE OPERATION 上返回 2

$update = mysql_query("
INSERT INTO details (id, name, team, cost) 
VALUES ('$id', '$name', '$team', '$cost') 
ON DUPLICATE KEY UPDATE cost = '$cost' ") 
  or die (mysql_error());
  if(mysql_affected_rows() == 2)
  {
      echo "old cost = $old_cost";
      echo "New Cost : $cost";
   }

试试这个希望它有帮助

关于php - 识别何时发生更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15286550/

相关文章:

php - 使用 FFMPEG 转换为具有最大浏览器兼容性的 MP4

php - 如何使用 PHP 将一个大的 XML 文件拆分成多个小文件?

Mysql 查询正在搜索列名而不是值

php - 关于重复键错误

mysql - LEFT JOIN 的 SQL 查询不返回结果

PHP fatal error : Call to a member function bind_param() on a non-object

php - ZipArchive() 类,函数有一些错误

php - 从具有最大日期和特定外键的记录中选择信息

javascript - 如何将变量从隐藏字段发送到远程 PHP 文件并在 Bootstrap 模式中显示脚本的结果而不使用 jQuery 刷新?