присвоение Row_Number моему выбору MySQL

У меня проблема с назначением 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 и все было в порядке. Что я делаю неправильно ?
И если это не подходящий способ решения этой проблемы, как я могу выполнить эту задачу?

0

Решение

Вам нужно использовать Exec () за 1 строку.
т.е.

$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);
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]