我是 PHP 新手,所以请耐心等待。
这是在我的网站上输入预订表的代码:
这是我在网站前端的表单中输入数据时遇到的错误:
我已经为此工作了几个小时,但我无处可去。
我认为问题可能出在:
SELECT u_id FROM `joom_hl_puser_role` WHERE pid = '1'
表 puser_role 只是将 joomla 用户连接到他们可以在网站上管理的酒店。(我想将酒店经理的joomla用户号输入到表格中)。
但我确信语法是正确的。
谢谢你的帮助。
我是 PHP 新手,所以请耐心等待。
这是在我的网站上输入预订表的代码:
这是我在网站前端的表单中输入数据时遇到的错误:
我已经为此工作了几个小时,但我无处可去。
我认为问题可能出在:
SELECT u_id FROM `joom_hl_puser_role` WHERE pid = '1'
表 puser_role 只是将 joomla 用户连接到他们可以在网站上管理的酒店。(我想将酒店经理的joomla用户号输入到表格中)。
但我确信语法是正确的。
谢谢你的帮助。
问题是您使用 TIME();
TIME 需要传递一个参数。
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())
来自TIME的 MySQL 手册
时间(expr)
提取时间或日期时间表达式 expr 的时间部分并将其作为字符串返回。
此函数对于基于语句的复制是不安全的。从 MySQL 5.5.1 开始,如果在 binlog_format 设置为 STATEMENT 时使用此函数,则会记录警告。(错误 #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'
您在“双引号”内插入 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'";