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

このエラーが発生し続けます:

ジョンソン ゲームの保存中にエラーが発生しました。(SQL 構文にエラーがあります。使用する MySQL サーバーのバージョンに対応するマニュアルで、near 'keys,puzzle,posX,posY,map を使用する正しい構文を確認してください) VALUES ('maze','Johnson','Patrick 2 行目の ','eddie' -- '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,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,

「マップ」列のサイズを VARCHAR (10000) に増やしました。これは、設定した 1000 の制限を超えていると思ったからですが、それでもエラーが発生します。

4

2 に答える 2

6

KEYSは mysql の予約語です。したがって、バッククォートを配置する必要があります。

gold, `keys`,puzzle
于 2012-09-06T22:00:58.800 に答える
0

keysSELECTなどの予約語LIMITです。正しい使用方法は、各フィールドの前後にバッククォートを追加して、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);
于 2012-09-06T22:04:53.590 に答える