mysql SELECT查询返回错误,语法正确

时间:2011-06-01 17:34:50

标签: php mysql select

我正在为我公司的社交网站工作,我正在建立消息传递系统。

我在数据库中有一个名为“mail”的表,由于某种原因,最简单的SELECT查询返回错误。 这是代码:

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

while($row = mysql_fetch_assoc($result)){
    $from = $row['from'];
    $content = $row['content'];
    echo "<tr><td>$from</td><td>$content</td></tr>";
}

它返回此错误;您的SQL语法有错误;查看与您的MySQL服务器版本相对应的手册,以便在第1行的“to ='cody''附近使用正确的语法

在此次我不知道什么错误之前,我已经使用了相同语法的这种类型的查询一百次。

一些注意事项:数据库连接正常,“to”,“from”和“content”是我“mail”表中的列。

提前感谢您的帮助

3 个答案:

答案 0 :(得分:8)

TO是保留字。请尝试以下

$sql = "SELECT * FROM mail WHERE `to`='$username'";
  

允许使用保留字   标识符,如果您引用它们   在第8.2节中描述,

<强> Reference

答案 1 :(得分:0)

“TO”也是一个关键字try,用反引号“

封装字段名称

答案 2 :(得分:0)

我认为问题是由于这个

而发生的
to='$username'

$username是一个Php变量,所以请查看