MySQL — как написать запрос в PHP с установленным в нем

У меня есть запрос, в котором есть набор. как я могу использовать этот запрос в php?
результат правильный в phpmyadmin или верстак, но нет ответа в php код.

set @num := 0, @ci := -1;
select currency_id,buy,sell
from
(select *,
@num := if(@ci = currency_id, @num + 1, 1) as gp_number,
@ci := currency_id as dummy
from currency_price
order by `currency_id`, cu_date desc,buy,sell) x
where gp_number=2
order by currency_id

когда я хочу положить его в $conn->query это ничего не делает.

я пробую много способов но не могу

1

Решение

@RamRaider прав. У вас есть два запроса здесь. Первая строка в верхней части вашего примера с set операции, а второй сам запрос.

phpmyadmin, когда встречает список запросов, вежливо запускает их один за другим. Но разные php MySQL API этого не делают. Вы должны выполнить каждый запрос с отдельным использованием $conn->query(),

Или вы можете изменить его так, чтобы он соответствовал только одному запросу. В MySQL диалект это:

 SET @a :=1 ;
SET @b := 1;
SELECT @a := a+1 a,
@b := b-1 b,
col, col, col
FROM table

может быть изменен путем присоединения к «таблице» инициализации следующим образом:

 SELECT @a := a+1 a,
@b := b-1 b,
col, col, col
FROM table
JOIN (SELECT @a := 1, @b := 1) init

Пока у этого JOIN нет ON В этом случае планировщик запросов выполняет выбор инициализации только один раз.

1

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

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

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