MySQL запрос из PHP - PullRequest
       0

MySQL запрос из PHP

0 голосов
/ 09 ноября 2018

Мне нужно сделать этот запрос из PHP:

set @row:=-1;
SELECT * FROM `tablename`
INNER JOIN ( 
    SELECT `id` FROM ( 
        SELECT @row:=@row+1 AS rownum, `id` FROM ( 
            SELECT id FROM `tablename` ORDER BY `id` DESC 
        ) 
            AS sorted 
    ) as ranked WHERE rownum % 14 = 0 
) AS subset ON subset.id = `tablename`.id LIMIT 24;

Отлично работает в PHPMyAdmin, но у меня есть ошибка для "set @ row = -1;". (

Заранее спасибо!

1 Ответ

0 голосов
/ 09 ноября 2018

Возможно, вы пытаетесь использовать эти операторы в одном mysqli_query утверждении.Это несколько утверждений;вам нужно запрашивать их отдельно, используя PHP-код.

Однако вы можете также преобразовать эти два запроса в один запрос, используя CROSS JOIN:

SELECT * FROM `tablename`
INNER JOIN ( 
    SELECT `id` FROM ( 
        SELECT @row:=@row+1 AS rownum, `id` FROM ( 
            SELECT id FROM `tablename` ORDER BY `id` DESC 
        ) AS sorted 
        CROSS JOIN (SELECT @row := -1) AS user_init_vars 
  /* shifted SET statement to the above line (remove the comment before using) */
    ) as ranked WHERE rownum % 14 = 0 
) AS subset ON subset.id = `tablename`.id LIMIT 24;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...