Php SQL错误代码:#1064

Php SQL错误代码:#1064,php,mysql,sql,Php,Mysql,Sql,做一些SQL并尝试整理我的数据。我做了代码等,但我得到了一个#1064错误(语法问题)谁能检查我的代码,告诉我哪里错了:) 在我看来这一切都很好,但显然不是吗?哈哈您使用的是orderby子句,而不是Where子句Order By子句必须是任何查询的最后一个子句。使其正确。像这样重新排列查询订购人应在之后使用,其中 $statement = $database->prepare(" SELECT *

做一些SQL并尝试整理我的数据。我做了代码等,但我得到了一个#1064错误(语法问题)谁能检查我的代码,告诉我哪里错了:)


在我看来这一切都很好,但显然不是吗?哈哈

您使用的是
orderby
子句,而不是
Where
子句
Order By
子句必须是任何查询的最后一个子句。使其正确。

像这样重新排列查询<代码>订购人应在
之后使用,其中

 $statement = $database->prepare(" SELECT 
                                         * 
                                      FROM 
                                         companyhouse_23 
                                      WHERE 
                                        incorporation_date >= NOW() - INTERVAL 3 MONTH
                                        AND County = 'Sussex'
                                        AND County LIKE '%Sussex%'
                                      ORDER BY 
                                         Incorporation_Date DESC
                                      ");
SELECT 
    * 
FROM 
    companyhouse_23 
WHERE 
   incorporation_date >= NOW() - INTERVAL 3 MONTH
   AND County = 'Sussex'
   AND County LIKE '%Sussex%'
ORDER BY 
    Incorporation_Date DESC
在您的查询中需要注意的两件事:

  • Order by应该是查询的最后一部分
  • 在where子句中,您使用的是county='Susses'和类似county的'%Sussex%'(此条件将只返回具有county='Sussex'(冗余的类似子句)的行) 根据您的要求仅使用一个(如果要求完全匹配,则使用=类似于else的条款)

  • order by应该是查询的最后一部分。另外,
    LIKE
    测试是多余的,因为您已经在测试
    country
    @IanRoberts的确切值。它不是多余的,因为Sussex用于东Sussex和西Sussex。您正在测试County的
    ='Sussex'
    LIKE'%Sussex%'
    -任何满足前者也满足后者。也许AND应该是OR(加上适当的括号)?
    SELECT 
        * 
    FROM 
        companyhouse_23 
    WHERE 
       incorporation_date >= NOW() - INTERVAL 3 MONTH
       AND County = 'Sussex'
       AND County LIKE '%Sussex%'
    ORDER BY 
        Incorporation_Date DESC
    
    SELECT * 
    FROM  companyhouse_23 
    WHERE incorporation_date >= NOW() - INTERVAL 3 MONTH 
       AND  County='Sussex' 
       AND County LIKE '%Sussex%' 
       ORDER BY Incorporation_Date DESC