2012-07-20 81 views
1

我正試圖將數據存儲到數據庫中。如果我用下面的代碼無法在數據庫中存儲日期

$sql="INSERT INTO rohit(content,tags,uniquefield,required) 
     VALUES('$l','$y','$z','$t')"; 
if (!mysql_query($sql,$con)) 
    { 
    die('Error: ' . mysql_error()); 
    } 

它正在運行,但是當我再增加一個字段,則它給錯誤檢查MySQL的句法

$sql="INSERT INTO rohit(content,tags,uniquefield,required,numeric) 
     VALUES('$l','$y','$z','$t','$n')"; 
if (!mysql_query($sql,$con)) 
    { 
    die('Error: ' . mysql_error()); 
    } 

我已經在數據庫中定義的所有字段。什麼可能是可能的錯誤

+1

什麼是錯誤信息? – 2012-07-20 14:00:16

回答

4

numeric是保留字。將其放置在抽動逃脫它:

$sql="INSERT INTO rohit(content,tags,uniquefield,required,`numeric`)VALUES('$l','$y','$z','$t','$n')"; 
+4

或者更好的是,不要使用保留字作爲列名 – DaveRlz 2012-07-20 14:03:49

1

因爲你試圖將一個字符串值添加到數字領域,我想這是列的類型不是字符串,因爲這個名字的

+0

投票贊成不錯的推理。 – Smandoli 2012-07-20 14:25:56

+0

No:'創建臨時表foo(bar int);'後面插入foo(bar)值('42');'工作得很好,MySQL會將字符串轉換爲數字,只要它只包含數字。 – MvG 2012-07-22 21:21:10