Php 错误-意外的T_变量
好的,我已经在这段代码上花了很长时间,它一直在说我在第54行有一个意外的T_变量。有人知道它是什么以及如何修复吗Php 错误-意外的T_变量,php,syntax,Php,Syntax,好的,我已经在这段代码上花了很长时间,它一直在说我在第54行有一个意外的T_变量。有人知道它是什么以及如何修复吗 // 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_err
// 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());
有语法错误。在
值(“$key”,“$time”)
您的insert查询看起来像是被
“
破坏了。php足够聪明,可以读取”
引号中的变量,这样就不需要在变量已经打开时将其包装在“
中
$registerid = mysql_query("INSERT INTO downloadkey (uniqueid,timestamp)
VALUES($key,$time)") or die(mysql_error());
正确的第54行是
$registerid=mysql\u查询(“插入到下载键中
(uniqueid,timestamp)值(\“$key\”、\“$time\”)或
die(mysql_error())
转义您的引号。这一行是罪魁祸首。如果您断开字符串以插入变量,则需要将它们串联起来 解决方案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。\u*您需要使用单引号而不是双引号:
$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());
。它们不再被维护。请参阅?改为了解,并使用,或-将帮助您决定使用哪个。如果您选择PDO 也许可以试试:
$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());
你能突出显示第54行吗?请把第54行放在第54行的前面,这里可能有错误…这样写->值(“$key.”,“$value.”)$registerid=mysql\u查询(“插入到downloadkey(uniqueid,timestamp)值(“$key”,“$time”))或死(mysql\u error());现在你已经回答了这个问题,忘掉MySQL,用准备好的语句开始学习MySQLi或PDO:显然你才刚刚开始学习,所以要学习更好的查询数据库的方法,而不是以后必须忘记的糟糕方法。一个不够强调@MarkBaker的观点的人。请停止将字符串连接到make查询并开始使用准备好的语句。这种情况经常发生。这就是为什么我们在这里提供帮助。
$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());
$registerid = mysql_query("INSERT INTO downloadkey (uniqueid,timestamp) VALUES('" . $key . "','" . $time . "')") or die(mysql_error());