0

私は約30分間探し回っていますが、ここで問題を見つけることができません...

if($middle == 'garage'){
    $result = mysql_query("SELECT * FROM character WHERE username = '$username'") or die(mysql_error());
    $row = mysql_fetch_array($result);
    $return['middle'] = $row['username'];
}

どういうわけかこれは戻ってきています

SQL構文にエラーがあります。1行目の'characterWHERE username ='Alcapwn''の近くで使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください。

私は非常に多くのことを試しましたが、他のSELECT*FROMクエリは正常に機能しています。これはこれだけです。それを含むテーブルと行があります。切り替えたら

$result = mysql_query("SELECT * FROM character WHERE username = '$username'") or die(mysql_error());

$result = mysql_query("SELECT * FROM users WHERE username = '$username'") or die(mysql_error());

2つ目は機能しますが、1つ目は機能しません。

4

3 に答える 3

3

character予約済みのmysqlワードであるため、バッククォートで囲む必要があります

FROM `character` ...
于 2013-03-18T01:29:41.777 に答える
0

文字はMySQLの予約キーワードのようです。つまり、テーブル名として使用することはできません。

于 2013-03-18T01:31:21.417 に答える
0

「文字」はMySQLの予約語です。

http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html

于 2013-03-18T01:31:22.633 に答える