PHP/SQL语法错误1064

PHP/SQL语法错误1064,php,sql,joomla,syntax,Php,Sql,Joomla,Syntax,我是新来PHP的,所以请容忍我 这是在我的网站上输入预订表的代码: 这是我在网站前端的表单中输入数据时遇到的错误: 我已经做了好几个小时了,但我哪儿也去不了 我认为问题可能在于: SELECT u_id FROM `joom_hl_puser_role` WHERE pid = '1' table puser_角色只是将joomla用户连接到他们可以在站点上管理的酒店。(我想在表中输入酒店经理的joomla用户号) 但我确信语法是正确的 感谢您的帮助。您正在“双引号”中插入TIME()和N

我是新来PHP的,所以请容忍我

这是在我的网站上输入预订表的代码:

这是我在网站前端的表单中输入数据时遇到的错误:

我已经做了好几个小时了,但我哪儿也去不了

我认为问题可能在于:

SELECT u_id FROM `joom_hl_puser_role` WHERE pid = '1'
table puser_角色只是将joomla用户连接到他们可以在站点上管理的酒店。(我想在表中输入酒店经理的joomla用户号)

但我确信语法是正确的


感谢您的帮助。

您正在“双引号”中插入TIME()和NOW()函数。试着把它链接成这样

$query = "INSERT INTO `#__chbookings_bookings` (`id` ,`company` ,`firstname`,`lastname`, ,`email` ,`reference_number` , `transactionid` ,`invoice_number` ,    `property` ,`payment_type` ,`people` ,`phonenumber` ,`checkin_date` ,`checkout_date`,`room_type` , `status` , `total_amount` ,`amount_paid` ,`pending_amount`,    `date_booked`,`last_updated`, `comments`) VALUES (NULL , '".$user_id."','".$data['firstName']."', '".$data['lastName']."', 
'".$data['email']."', ".TIME().",
'".$result["transaction_id"]."','".$invoice_number."',
(SELECT u_id FROM `#__hl_puser_role` WHERE pid = '".$data['property_id']."'),
0 ,'".$total_adult."', '".$data['phone']."', 
'".$session->get('checkin_date')."', '".$session->get('checkout_date')."', 0, 0,
'".$final_amount."', '".$session->get('amount_payable')."', 
'".$session->get('balance_amount')."',
".NOW().", ".NOW().", 'comments'";

问题是你对时间的使用()

时间需要传递一个参数

mysql> select TIME();
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1
换成

TIME(NOW())
来自MySQL手册

时间(expr)

提取时间或日期时间表达式expr的时间部分,并 将其作为字符串返回

此函数对于基于语句的复制不安全。开始 在MySQL 5.5.1中,如果您在 binlog_格式设置为语句。(Bug#47995)

mysql> SELECT TIME('2003-12-31 01:02:03');
         -> '01:02:03' 

mysql> SELECT TIME('2003-12-31 01:02:03.000123');
         -> '01:02:03.000123'