2013-06-26 39 views
1

我的客戶有一個網站想要在我們的linux服務器上傳輸。所以我建立了所有的文件和數據庫,現在網站在我們的開發服務器上運行良好。在幾列插入查詢會給出錯誤

現在,當我嘗試add to cart然後它給出以下錯誤: Insert Operation Failed. Field UserID does not have default value。 這裏是插入代碼:

$SQL="insert into cart set ProductID='some value',Amount='some value',Image='some value',SessionID='some value',Total='some value',ItemName='some value',Qty='some value'";

`$rsSelect=$objDB->insert($SQL);` 

在表名稱CART有所有這些是具有DEFAULT VALUENOT NULL和幾列字段。

我明白這是什麼錯誤的手段,但我的問題是:

爲什麼不能這個錯誤出現在直播現場或我的本地系統(本地主機)上。並且爲什麼在我的開發服務器上有這樣的錯誤,所有服務器上的數據庫結構都是一樣的

請指導!

謝謝。

+0

您確定該行實際上已插入到「有效」的服務器上嗎?可能是因爲錯誤報告設置(這很好,因爲它應該如何設置),所有3個位置都會發生錯誤,但您只能在開發框中看到*。真的只有兩種可能性:^^或者數據庫在所有3臺服務器上實際上沒有設置相同。 – DaveRandom

+0

是的!它在我的本地系統和活網站上工作正常,但在我的Linux開發服務器上發生錯誤。所以你的意思是說,由於錯誤報告設置,errro對兩個工作服務器都是隱藏的? – vanurag

+0

數據庫設置的意思是?數據庫結構不同?不,結構始終如一。在你的建議中你指出了兩種可能性 - 你能否向我解釋第一種可能性。我無法得到它。 – vanurag

回答

0

的插入語句應該是這樣的:

INSERT INTO table_name 
VALUES (value1, value2, value3,...) 

檢查:http://www.w3schools.com/php/php_mysql_insert.asp

+0

如果我必須改變語法,那麼我可以改變它。但它不僅適用於單個文件或表格。這個問題發生在很多表格和頁面上。而且,在現場和我的本地主機系統上工作正常,但不在我的開發服務器上。如果有其他選項,請提出建議。 – vanurag

+1

實際上'INSERT ... SET'是一個較少使用的語法,但是(當然在MySQL中)它是完全有效的。 – DaveRandom

0

沒有發現任何的方法來解決我的問題,除非設置爲默認值,按要求在我的數據庫對於那些不在sql查詢中使用的列。

非常感謝你們,因爲它們需要時間!