SELECT * FROM issue

时间:2013-03-18 01:28:19

标签: php mysql

我一直在寻找约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());

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

3 个答案:

答案 0 :(得分:3)

character是一个reserved mysql word,因此您必须将其括在反引号中

FROM `character` ...

答案 1 :(得分:0)

似乎字符是MySQL保留关键字,这意味着您无法将其用作表名。

答案 2 :(得分:0)

“Character”是MySQL中的保留字。

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