我用它来添加或更新数据库中的内容。
$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
更改,则将旧值和新值回显到屏幕,否则不执行任何操作。我该怎么做呢?
最佳答案
首先,您必须在temp变量中保留与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_受影响的_行在重复密钥更新操作时将返回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/