MySQL插入语法错误PHP

时间:2012-09-06 21:58:54

标签: php mysql

$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);

我一直收到这个错误:

  

保存约翰逊游戏时出错。 (您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以便在'keys,puzzle,posX,posY,map)附近使用正确的语法   VALUES   ('迷宫','约翰逊','帕特里','eddie'在第2行 - '迷宫','约翰逊','帕特里克','eddie.gif','1','0','0' '失败', '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,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,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')

我已将'map'列的大小增加到VARCHAR(10000)因为我认为我超过了我设置的1000的限制,但我仍然得到错误。

2 个答案:

答案 0 :(得分:6)

KEYS是一个mysql reserved word。所以你需要在它周围添加反引号:

gold, `keys`,puzzle

答案 1 :(得分: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);