2012-10-12 79 views
1
mysql_query(" 
    INSERT INTO trades (id, cpair, oprice, cprice, bos, ooc, dateandtime) 
    VALUES (null, $currency, $openingprice, $closingprice, $buysell, 
    $openorclosed, $datetime" 
); 

這段代碼的錯誤是這樣的錯誤?你的SQL語法有錯誤;檢查對應於你的MySQL服務器的手冊

錯誤:

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 ' , 1, 1, 2012-10-12 13:57:08' at line 1

+0

看起來''datetime'後面有一個缺少的元素。 'mysql_query(「INSERT ... VALUES(...,$ datetime)」);' - 語法錯誤會更清晰,如果您將生成的查詢字符串分配給變量並且var_dump()編輯它 –

+0

has你的錯誤現在改變了,你把這些引號放在你的變量上? –

回答

1

您不能插入一個空的ID,這可能是一個必填字段。

如果是自動增加,就忽視它,它會自動填寫自己英寸

0

任何字符串都需要在MySQL命令字符串被引用,你可能需要調用函數從轉換日期時間一個字符串。

+0

所做的一切都是將錯誤更改爲: 您的SQL語法錯誤;檢查與您的MySQL服務器版本相對應的手冊,以找到在第1行附近使用的正確語法 – Rob

0

哇!首先,你不會像字符串那樣對待字符串。你只是迴應那個查詢的任何內容。壞主意,正如你所看到的,不會去工作。

您至少需要在每個VAR中添加單引號,這些引號至少是VALUES()語句中的字符串。

mysql_query(" 
    INSERT INTO trades (id, cpair, oprice, cprice, bos, ooc, dateandtime) 
    VALUES (null, $currency, $openingprice, $closingprice, $buysell, 
    $openorclosed, '$datetime'" 
); 

下一步是切換到PDO並清理您的輸入。

相關問題