0

在过去的一个小时里,我一直在挠头,只是无法让它工作。

执行此查询:

$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());

它给了我这个错误:

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“1”附近使用正确的语法

4

3 回答 3

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_ 语句,它们已被弃用且不安全。

于 2013-04-17T12:09:59.507 回答
1

出现错误您尝试执行两次查询。删除它的第二次执行。即删除它

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

它正在尝试这样做

$save = mysql_query(1);

这是错误的

于 2013-04-17T12:11:01.897 回答
0

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

第一次返回1(成功)

第二次尝试1作为查询执行

附言。挠头一个小时会引起皮肤刺激。

于 2013-04-17T12:08:53.273 回答