Есть код:
$x[status][vip] = 2;
$x[status][standard] = 1;
"SELECT
@status_:= status AS status_,
$x[status][@status_] AS level
FROM users"
В таблице users
поле status
имеет значение vip, соответственно level должен = 2, но в результате получаю ошибку по выше приведенному запросу.
Вопрос, возможно ли как то сформировать переменную $x[status][@status_]
без ошибки?
Если Вы прописываете $['status'] в коде (а не берёте его из базы), то лучше всего будет просто сделать вот так:
SELECT
`status` as `status_`,
CASE `status`
WHEN 'vip' THEN 2;
WHEN 'standard' THEN 1;
END as `level`
FROM `users`
Если $x['status'] берётся вдруг из базы - напишите откуда, можно будет сделать еще проще.
Добавлено пояснение: Как уже написал другой Александр в комментарии к вопросу:
Строки сперва обрабатываются php, а потом уже сформированный запрос отправляется в mysql
Поэтому у Вас и выдаётся ошибка. Фактически, Вы отправляли в базу вот такой запрос:
SELECT
@status_:= status AS status_,
Array[@status_] AS level
FROM users
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Здравствуйте,есть задача в определённом участке кода реализовать удаление файлика xml из директории,где находится indexphp
Поставил Drupal вот такой командой composer create-project drupal-composer/drupal-project:~80
Есть несколько кнопок, нужно чтобы по нажатию на каждую подставлялась своя картинка в блок
Добрый день, возник такой вопрос над которым ломаю голову, уже второй день