2014-02-25 43 views
0

我想使用PHP在我的數據庫中插入一些值。錯誤occures,但我找不到爲什麼...MySQL 5.6上的SQL請求錯誤

這裏是我的SQL查詢:

$req = "INSERT INTO 'event' 
('Date_Event', 'Place_Event', 'url_event') 
VALUES (DATE('{$date}','{$desc}','{$url}')"; 

$date$desc$url分別爲2014-04-04 19:00:00fefezfdsfs(我知道$url不是正確的網址,這只是一個測試)。

當我嘗試插入直接在phpMyAdmin,它的工作原理......這裏的mysqli_error我有:

您的SQL語法錯誤;檢查對應於你的MySQL服務器版本的手冊正確的語法使用

'event' ('Date_Event', 'Place_Event', 'url_event') VALUES (DATE('2014- 

在1號線的LOR ERREUR DE L'enregistrement

要創建我的查詢,我我使用了phpMyAdmin中的SQL部分。 「事件」表如下:

  • id_Event:int(4)和autoIncrement。
  • Date_Event:datetime。
  • Place_Event:varchar(100)。
  • url_event:varchar(200)。

如果任何人有一個想法,幫幫我吧,我求求你:'(

+0

當使用'mysqli'你應該使用PARAM eterized查詢和['bind_param'](http://php.net/manual/en/mysqli-stmt.bind-param.php)將用戶數據添加到您的查詢中。 **不要**使用字符串插值來實現此目的,因爲您可能會創建嚴重的[SQL注入漏洞](http://bobby-tables.com/)。如果您在低級SQL方面遇到問題,您可能需要[開發框架](http://codegeekz.com/best-php-frameworks-for-developers/)來幫助構建您的應用程序並避免必須處理有了這個。 – tadman

回答

2

單引號表示文字字符串你需要使用圍繞系統表和列反向引號我不明白爲什麼你需要投日期,因爲你的列是datetime和您使用的是ANSI日期格式。

INSERT INTO `event` (`Date_Event`, `Place_Event`, `url_event`) 
VALUES ('{$date}', '{$desc}', '{$url}'); 

你應該看看準備語句以防止SQL注入。

+0

或完全擺脫它們 – Strawberry

+0

剛剛遲到纔回復這麼一個給你:-) –

+0

我不明白你爲什麼需要大括號 – Strawberry