Unexpected T_CONSTANT_ENCAPSED_STRING


Unexpected T_CONSTANT_ENCAPSED_STRING

当我试图从web应用程序上的表单传递信息时,我的MySQL查询会出现以下错误消息:

分析错误:语法错误,意外的"、"CURRENT_TIMESTAMP"、"(T_CONSTANT_ENCAPSED_STRING)

mysql_query("INSERT INTO 'db'.'frs_Payment'('payid', 'amount', 'paydatetime', 'empnin', 'custid', 'pstatusid', 'ptid')
         VALUES('','".$amount"','CURRENT_TIMESTAMP','".$empnin."','".$custid"','"2"','".$ptid."');");

导致错误的是CURRENT_TIMESTAMP功能。我知道这可能是因为语音标记。但是我已经在时间戳中添加和删除了它们,查询仍然无法运行。

我需要在其他地方添加语音标记吗?

您的PHP语法中有一个拼写错误。更改:

mysql_query("INSERT INTO 'db'.'frs_Payment'('payid', 'amount', 'paydatetime', 'empnin', 'custid', 'pstatusid', 'ptid')
         VALUES('','".$amount"','CURRENT_TIMESTAMP','".$empnin."','".$custid"','"2"','".$ptid."');");

至:

mysql_query("INSERT INTO 'db'.'frs_Payment'('payid', 'amount', 'paydatetime', 'empnin', 'custid', 'pstatusid', 'ptid')
         VALUES('','".$amount."','CURRENT_TIMESTAMP','".$empnin."','".$custid."','2','".$ptid."');");

打字是自我解释的。

还要注意,mysql_query在PHP 5.5.0中已被弃用,在PHP 7.0.0中已被删除。

mysql_query("INSERT INTO 'db'.'frs_Payment'('payid', 'amount', 'paydatetime', 'empnin', 'custid', 'pstatusid', 'ptid')
     VALUES('','$amount',CURRENT_TIMESTAMP(),'$empnin','$custid','2','$ptid');");

不需要分解双引号字符串,而且到处都有太多引号。此外,CURRENT_TIMESTAMP是一个sql函数,而不是字符串文字。