-1

好的,我已经搞砸了这段代码很长一段时间了,它一直说我在第 54 行有一个意外的 T_VARIABLE。有人知道它是什么以及如何修复吗?

// Write the key and activation time to the database as a new row
**LINE 54**   $registerid = mysql_query("INSERT INTO downloadkey (uniqueid,timestamp) VALUES("$key","$time")") or die(mysql_error());
4

8 回答 8

1

您需要使用单引号而不是双引号:

$registerid = mysql_query("
INSERT INTO downloadkey (uniqueid,timestamp) 
VALUES('$key','$time')") or die(mysql_error());

另一种解决方案是连接变量,如下所示:

$registerid = mysql_query("
INSERT INTO downloadkey (uniqueid,timestamp) 
VALUES(" . $key . "," . $time . ")") or die(mysql_error());

请不要mysql_*在新代码中使用函数。它们不再被维护并被正式弃用。看到红框了吗?改为了解准备好的语句,并使用PDOMySQLi -本文将帮助您决定使用哪个。如果您选择 PDO,这里有一个很好的教程

于 2013-07-20T10:26:39.903 回答
0

这条线是罪魁祸首。如果您断开字符串以插入变量,则需要将它们连接起来

解决方案 A:

$registerid = mysql_query("INSERT INTO downloadkey (uniqueid,timestamp) VALUES('".$key."','".$time."')") or die(mysql_error());

解决方案 B

$registerid = mysql_query("INSERT INTO downloadkey (uniqueid,timestamp) VALUES('$key','$time')") or die(mysql_error());

并且请不要使用不推荐使用的函数,如 mysql_*

于 2013-07-20T10:26:21.633 回答
0

也许尝试:

$registerid = mysql_query("INSERT INTO downloadkey (`uniqueid`,`timestamp`) VALUES('$key','$time')") or die(mysql_error());
于 2013-07-20T10:26:47.530 回答
0
$registerid = mysql_query("INSERT INTO downloadkey (uniqueid,timestamp) VALUES("$key","$time")") or die(mysql_error());

用。。。来代替:

$registerid = mysql_query("INSERT INTO downloadkey (uniqueid,timestamp) VALUES('" . $key . "','" . $time . "')") or die(mysql_error());
于 2013-07-20T10:26:50.027 回答
0

有语法错误。代码因在附近使用双引号而被破坏VALUES("$key","$time")

$registerid = mysql_query("INSERT INTO downloadkey (uniqueid,timestamp) VALUES('$key','$time')") or die(mysql_error());
于 2013-07-20T10:25:28.940 回答
0

您的插入查询看起来已经被"php 破坏了足够聪明可以在"引号内读取其变量然后无需将变量包装"在它们已经打开的时候

 $registerid = mysql_query("INSERT INTO downloadkey (uniqueid,timestamp)
 VALUES($key,$time)") or die(mysql_error());
于 2013-07-20T10:25:44.400 回答
0

正确的第 54 行是

$registerid = mysql_query("INSERT INTO downloadkey (uniqueid,timestamp) VALUES(\"$key\",\"$time\")") or die(mysql_error());

于 2013-07-20T10:25:55.140 回答
0
**LINE 54**   $registerid = mysql_query("INSERT INTO downloadkey (uniqueid,timestamp) VALUES(\"$key\",\"$time\")") or die(mysql_error());

逃避你的报价。

于 2013-07-20T10:25:58.397 回答