【问题标题】:SQL query syntax issue [closed]SQL查询语法问题[关闭]
【发布时间】:2013-01-11 08:04:10
【问题描述】:

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

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

【问题讨论】:

  • 这会很好..如果你粘贴你得到的错误
  • 我第一次投了反对票,但现在当我重新阅读这个问题时,实际上很清楚 - 只是这个主题很糟糕。你应该问一个标题为“有问题但我不知道那是什么”的问题......

标签: php mysql


【解决方案1】:

试试这个:

$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 子句 - 您只有一个。

【讨论】:

  • 非常感谢,我很感激 :)
【解决方案2】:

WHERE 子句必须在 ORDERLIMIT 之前出现

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

【讨论】:

    【解决方案3】:

    AND type="pic" 大错特错。您应该将其放在查询字符串中。 LIMIT 子句之后也不会出现 where 子句。 LIMIT 子句应该放在最后。所以使用这个查询。

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

    注意:不要使用mysql_* 函数。他们是deprecated。使用PDOMySQLi

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-11-28
      • 1970-01-01
      • 2014-05-23
      • 2020-08-13
      • 2011-11-17
      • 1970-01-01
      • 2018-11-06
      相关资源
      最近更新 更多