Есть код:
$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
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Здравствуйте,есть задача в определённом участке кода реализовать удаление файлика xml из директории,где находится indexphp
Поставил Drupal вот такой командой composer create-project drupal-composer/drupal-project:~80
Есть несколько кнопок, нужно чтобы по нажатию на каждую подставлялась своя картинка в блок
Добрый день, возник такой вопрос над которым ломаю голову, уже второй день