SQL查询语法问题

时间:2013-01-11 08:04:10

标签: php mysql

我不知道如何解决这个问题。错误在哪里?我试图找出答案,我认为它与 AND

有关
$query = mysql_query ("SELECT * FROM photos ORDER BY id DESC LIMIT ".$queryStart.", 5" AND type="pic");

3 个答案:

答案 0 :(得分:4)

试试这个:

$query = mysql_query ("SELECT * FROM photos WHERE type='pic' ORDER BY id DESC LIMIT $queryStart, 5");

问题是:

  • AND type="pic"未包含在字符串中,或​​以任何方式连接
  • 您的AND type="pic"显然适合WHERE条款,该条款应位于FROM条款之后,但应位于ORDER条款之前
  • 您只需要AND来连接多个WHERE子句 - 您只有一个。

答案 1 :(得分:1)

WHERE子句必须先于ORDERLIMIT

$query = mysql_query ("SELECT * FROM photos WHERE type='pic' ORDER BY id DESC LIMIT ".$queryStart.", 5");

答案 2 :(得分:1)

AND type="pic"是错误的。你应该把它放在查询字符串中。在LIMIT子句之后也没有出现where子句。 LIMIT子句应该在最后。所以请使用此查询。

mysql_query("SELECT * FROM photos WHERE type='pic' ORDER BY id DESC LIMIT $queryStart, 5);

注意:请勿使用mysql_*个功能。他们是deprecated。使用PDOMySQLi