带有PDO连接的MySQL SET

时间:2013-04-17 11:08:08

标签: mysql pdo

我正在尝试执行一个非常长的SQL语句,该语句使用许多用户选项选择“前N个”行。我不希望在这里发布整个语句,因为它很长但我使用的是MySQL变量,如本文所述:MySql Query: Select top 3 rows from table for each category

当在MySQL命令行上运行时,该语句工作正常但我遇到的问题是整个查询必须通过PDO连接运行,我想知道是否某些人可以确认我无法设置值'on-the-飞'如下图所示。这是PDO限制吗?我浪费了几个小时?非常感谢你的帮助...

SELECT outerseasons.* FROM (SELECT seasons.CountryName, seasons.idCountry, '' as     idCountryGroup, '' as CGName, seasons.DIValue_WorkingEntered, 
      seasons.SNName, seasons.idSeason, seasons.idParameter, seasons.PMName,
      CASE 
        WHEN @idSeason != seasons.idSeason OR @idParameter != seasons.idParameter
        THEN @rownum := 1
        ELSE @rownum := @rownum + 1
      END AS rank,
      @idSeason := seasons.idSeason as var_season,
      @idParameter := seasons.idParameter as var_parameter
      FROM ( SELECT ...

1 个答案:

答案 0 :(得分:0)

PDO与SQL语法有关。它可以执行您编写的任何SQL查询 唯一的麻烦可能是由查询集引起的。通过将这些集合拆分为单独的查询并逐个运行,可以轻松解决这个问题。

只有SQL语法错误导致的其他问题 只需验证您的SQL语法和watch PDO errors