簡體   English   中英

PHP MySQL錯誤聲明

[英]PHP MySQL error in statement

INSERT INTO expense (date,desc,price,out,method) 
VALUES ('$time','$desc','$price','$out','$method');

上面的MySQL語句有什么問題? 我已經檢查了代碼中的所有其他內容,但是似乎這沒有問題。

我將此語句傳遞給PHP中的mysql_query()函數。 它給我一個錯誤,並且沒有將數據插入行中。

以上所有變量也都存在。

那么可能是什么問題呢?

desc是SQL中的關鍵字( order by `key` desc )。 您不能使用在SQL中也是關鍵字的裸字。 在這種情況下,您應該使用`符號對desc進行轉義(例如`desc` )。 date也是關鍵字,但是由於通常的用法,MySQL決定允許它使用不正確,因為將其設為關鍵字。 但是並不是每個數據庫引擎都允許這樣做,所以要小心。

但是,即使沒有必要,實際上也要引用所有鍵,這是一個好習慣-這樣一來,您可以防止在SQL中添加關鍵字而導致查詢中斷。

'date'是一個MySQL關鍵字(用於date字段類型)。 您應該使用反引號將字段名稱括起來,如下所示:

INSERT INTO expense (`date`,desc,price,out,method) 

(我認為其他字段都不錯,但是如果您願意,也可以在其中添加反引號)

暫無
暫無

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

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