我在为我的Row_Number选择分配一个MySQL时遇到了问题,而之前我遇到了一段代码,它为这种情况提出了一个解决方案。我尝试了MySQL控制台中的代码,它运行得很好。但是,当我试图在我的PHP应用程序中使用它作为PDO查询时,它返回了这个"SQLSTATE[HY000]: General error"。
代码如下
SET @row_count= NULL;
SELECT ad_ID , rn from (
select ad_ID ,@row_count :=IFNULL (@row_count,0)+1 as rn
from ad_table
order by rn ) OT
WHERE rn IN (1, 10 ,20 );我已经检查了Databse连接,没有问题。我做错什么了?如果这不是解决这问题的适当方法,我又如何完成这项工作呢?
发布于 2014-11-28 21:18:43
您需要在第一行使用exec()。即
$STH = $DBH->exec('SET @row_count= NULL');然后
$sql ="SELECT id , rn from ( select id ,@row_count :=IFNULL (@row_count,0)+1 as rn from mytable order by rn ) OT WHERE rn IN (1, 10 ,20 )";
$STH = $DBH->query($sql);https://stackoverflow.com/questions/27195744
复制相似问题