2013-04-17 69 views
0

我一直在挠我的头在最后一个小时,只是不能得到这个工作。我的SQL更新错误

这样做查询:

$dbtoken = mysql_real_escape_string($invite_token); 
$dbexpire = mysql_real_escape_string($invite_expire); 
$dbid = mysql_real_escape_string($uid); 
$update_user = mysql_query("UPDATE inviters SET invitetoken='$dbtoken', inviteexpire='$dbexpire' WHERE uid='$dbid'"); 
$save = mysql_query($update_user) or die(mysql_error()); 

它给我这个错误:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1' at line 1

+2

有没有必要添加整数值单引号 –

+0

打印出来的实际的SQL语句你我确信你会自己看到错误。 –

+0

删除报价周围的uid值,回声你的SQL语句,运行它在db测试然后把它放在你的代码.. – saveATcode

回答

0

你正在做mysql_query();两次。一旦在最后一行。一旦在它上面的线上。

返回第一次1(成功)

您尝试执行1作为查询

PS中的第二次。抓一小时头可能会导致皮肤过敏。

1

您发送您的第一个查询的结果作为你的第二个查询的SQL语句:

$update_user = mysql_query("UPDATE inviters SET invitetoken='$dbtoken', 
inviteexpire='$dbexpire' WHERE uid='$dbid'"); 
$save = mysql_query($update_user) or die(mysql_error()); 

$ update_user包含的结果,你给回的mysql_query。试试这个:

$update_user = "UPDATE inviters SET invitetoken='$dbtoken', 
inviteexpire='$dbexpire' WHERE uid='$dbid'"; 
$save = mysql_query($update_user) or die(mysql_error()); 

顺便说一句:使用Mysqli而不是Mysql_语句,它们被弃用和不安全。

1

存在错误您试图执行两次查询。删除it.ie的第二次执行删除此

$save = mysql_query($update_user) or die(mysql_error()); 

它正试图做到这一点

$save = mysql_query(1); 

这是不对的