当我试图从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函数,而不是字符串文字。