簡體   English   中英

PHP / SQL語法錯誤1064

[英]PHP/SQL Syntax Error 1064

我是PHP的新手,所以請耐心等待。

這是在我的網站上輸入預訂表的代碼:

http://pastie.org/8190189

這是我在網站前端的表單中輸入數據時得到的錯誤:

http://pastie.org/8190194

我已經在這里工作了幾個小時,但我無法到達任何地方。

我認為問題可能與:

SELECT u_id FROM `joom_hl_puser_role` WHERE pid = '1'

表puser_role只是將joomla用戶連接到他們可以在網站上管理的酒店。 (我想在表格中輸入酒店經理的joomla用戶號碼)。

但我確信語法是正確的。

謝謝你的幫助。

您正在“雙引號”中插入TIME()和NOW()函數。 嘗試嘗試chaing它看起來像這樣

$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'";

問題是你使用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())

來自MySQL手冊的TIME

TIME(表達式)

提取時間或日期時間表達式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'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM