我有使用 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 中,并且它总是正确显示。
如何确保始终在数据库中更新/插入这些值?