2012-09-06 80 views
1
$result2 = mysql_query("INSERT INTO mazegames 
     (game,savename,player,playerimg,level,gold,keys,puzzle,posX,posY,map) 
    VALUES 
     ('$game','$Save','$player','$playerimg','$level','$gold','$keys','$puzzle','$x','$y','$map')",$db); 

我不斷收到此錯誤:MySQL的插入語法錯誤PHP

Error saving Johnson game. (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 'keys,puzzle,posX,posY,map) VALUES ('maze','Johnson','Patrick','eddie' at line 2 -- 'maze','Johnson','Patrick','eddie.gif','1','0','0','fail','17','13','w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,n,g,g,g,w,g,g,m,g,g,g,m,w,g,g,g,g,g,w,w,w,w,w,w,w,w,g,w,g,g,w,g,g,g,g,g,g,g,w,g,w,g,g,g,w,w,w,w,w,w,w,w,g,g,w,m,w,m,w,w,w,d,w,w,g,g,w,w,g,g,w,w,w,w,w,w,w,w,g,g,g,w,w,w,g,g,g,g,g,g,g,g,w,g,m,g,w,w,w,w,w,w,w,w,g,n,g,g,d,g,g,g,g,g,g,g,g,g,w,g,g,g,w,w,w,w,w,w,w,w,g,g,g,w,w,g,g,w,w,g,w,w,g,g,w,g,w,g,w,w,w,w,w,w,w,w,g,g,w,m,w,g,g,w,m,g,m,w,g,g,w,g,g,w,w,w,w,w,w,w,w,w,g,n,g,g,w,g,g,w,g,g,g,w,g,g,w,m,g,a,w,w,w,w,w,w,w,w,g,w,w,w,w,g,w,w,w,g,w,w,w,g,w,w,w,w,w,w,w,w,w,w,w,w,g,g,g,g,g,j,g,g,g,i,g,g,g,j,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w,w,w,g,w,w,w,g,w,w,w,g,w,w,w,g,w,w,w,w,w,w,w,w,n,g,n,m,w,g,g,w,m,g,m,w,g,g,w,g,g,g,w,w,w,w,w,w,w,w,g,g,w,g,w,g,g,w,g,g,g,w,g,g,w,g,g,g,w,w,w,w,w,w,w,w,g,w,g,g,w,g,g,g,w,w,w,g,g,g,w,w,g,g,w,w,w,w,w,w,w,w,k,g,g,g,w,k,g,g,g,g,g,g,g,k,w,g,g,g,w,w,w,w,w,w,w,w,w,w,w,g,g,w,w,w,w,k,w,w,w,w,w,g,g,g,w,w,w,w,w,w,w,w,m,m,w,g,g,g,g,g,g,w,m,g,g,g,d,g,g,g,w,w,w,w,w,w,w,w,g,m,w,w,w,w,g,g,g,w,g,g,g,g,w,g,w,g,w,w,w,w,w,w,w,w,g,g,d,s,d,d,g,g,g,w,g,g,g,w,g,g,g,g,w,w,w,w,w,w,w,w,b,w,w,w,w,w,g,g,w,g,g,g,w,g,g,w,g,g,w,w,w,w,w,w,w,w,x,w,w,w,w,w,m,g,c,g,g,w,a,g,w,g,g,e,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w')

我有,因爲我以爲我是在超越1000極限的「地圖」欄的尺寸增大到VARCHAR(10000)我已經設置了,但我仍然得到錯誤。

回答

6

KEYS是一個mysql reserved word。所以,你需要把它周圍的反引號:

gold, `keys`,puzzle 
+0

作爲一般規則,請始終圍繞數據庫,表和字段名稱進行反引號來標識它們。 –

+0

@Kolink:我個人只會對保留字進行處理,只要從我的個人角度來看,他們會使查詢不易讀和維護 – zerkms

0

keys是一個保留字,像SELECTLIMIT或別的東西。正確的用法是在每個字段周圍添加反引號,以便SQL標識它。

$result2 = mysql_query("INSERT INTO mazegames 
    (`game`,`savename`,`player`,`playerimg`,`level`,`gold`,`keys`,`puzzle`,`posX`,`posY`,`map`) 
VALUES 
    ('$game','$Save','$player','$playerimg','$level','$gold','$keys','$puzzle','$x','$y','$map')",$db);