为什么我在自定义PHP代码中出现SQL语法错误?

时间:2012-05-06 02:26:25

标签: php sql

我正在尝试构建更新查询,但我不断收到以下错误:

  

您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在'='Damien'附近使用正确的语法,last_name ='姓氏',其中id ='49''在第2行

我的PHP如下:

if($get['cmd'] == 'sname')
{
mysql_query("update users 
`first_name`='$get[first_name]', 
`last_name`='$get[last_name]',
where `id`='$get[id]'") or die(mysql_error());
//header("Location: $ret"); 
echo "changes done";
exit();
}

和HTML如下

<input name="doSave" type="button" id="doSave" value="Save" onclick='$.get("dos.php",{ cmd: "sname",first_name:$("input#first_name").val(),last_name:$("input#last_name").val(),id: "<?php echo $row_settings['id']; ?>" } ,function(data){ $("#msg").html(data); });'>

任何人都可以看到我的代码中有什么问题会给我这个错误吗?

2 个答案:

答案 0 :(得分:4)

如果我没有错,则需要使用SET关键字并删除额外的逗号。如果我错了,请纠正我...

if($get['cmd'] == 'sname')
{
    mysql_query("update users SET 
    first_name ='$get[first_name]', 
    last_name ='$get[last_name]'
    where id ='$get[id]'") or die(mysql_error());
    //header("Location: $ret"); 
    echo "changes done";
    exit();
 } 

答案 1 :(得分:2)

在以下语句后面有comma,不需要。

`last_name`='$get[last_name]',

应如下所述。请注意,comma已从此行末尾删除。

`last_name`='$get[last_name]'