Переменная в названии столбца в условии Select'a

135
22 сентября 2018, 05:40

Столбцы таблицы названы номерами. Переменной присваивается некое число. Затем значение переменной должно подставляться в запрос и распознаваться как название столбца в условии, по которому идет выборка.

Пробую так:

SELECT country FROM first_base WHERE `(@$q1)`="*";

Получаю ошибку: Unknown column '(@$q1)' in 'where clause'.

Если подставить, например, 14 в кавычках, то выборка делается. Если (@$q1) без кавычек - процесс идет, но совпадений нет - число из переменной не рассматривается в качестве имени столбца, как я понимаю.

Подскажите, пожалуйста, как мне правильно сделать запрос на выборку?

Answer 1

Если не менять структуру, довольно, надо признать, странную, то надо либо делать хранимую процедуру с prepared statement внутри, либо писать бред вроде

where (@sql=1 and `1`='*')
   or (@sql=2 and `2`='*')
   or (@sql=3 and `3`='*')
-- ...
READ ALSO
Access denied for user 'root'@'localhost'

Access denied for user 'root'@'localhost'

Установил mariadb-server и mariadb-clientПосле установил phpmyadmin, всё устанавливал через sudo apt-get install

149
Изменение формата даты и времени в таблице mysql

Изменение формата даты и времени в таблице mysql

В столбце "title" таблицы wp_foro_posts дата и время отображаются так: 200908

208
Получение текста между тегами - bs4

Получение текста между тегами - bs4

Задача заключается в получении текста между html тегами

190