【发布时间】:2011-08-10 18:50:39
【问题描述】:
我有使用 GET 方法将 URL 变量发送到使用 Ajax 的 PHP 页面的值。
在页面上,我有:
$value=$_GET["q"];
$id=$_GET["id"];
$mod=$_GET["mod"];
我开始使用 UPDATE SET 方法来修改 mySQL 数据库中的值。
我用过:$num_rows= mysql_num_rows($result);
使用If Else 语句插入值(如果不存在)或更新列“属性”
但这非常不一致,通常不会更新,并且出现了几个重复的值 (even though if($num_rows > 0){ (WHERE Object_ID = '".$mod."' AND Type='".$id."') 它不应该插入,但它确实插入了。)
所以我切换到这个:
$sql="SELECT * FROM Attributes WHERE Object_ID = '".$mod."' AND Type='".$id."'";
$result = mysql_query($sql);
mysql_query("DELETE FROM Attributes WHERE Object_ID = '".$mod."' AND Type = '".$id."'");
mysql_query("INSERT INTO Attributes (Object_ID, Type, Attribute)
VALUES ('".$mod."', '".$id."', '".$value."')");
我知道,这真是个坏主意。但即使是这种方法也并不总是正确地插入值。
我知道变量正在进入页面,因为响应将使用 innerHTML 写入 div,并且总是正确显示。
如何确保始终在数据库中更新/插入值?
【问题讨论】:
标签: php ajax insert insert-update