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 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'character WHERE username = 'Alcapwn'' 附近使用正确的语法

我已经尝试了很多东西,其他的 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());

第二个会起作用,但不是第一个。

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 回答