передать переменную в где MySQL

Невозможно запустить запрос, выдавая ошибку на @searchin переменная.
Вероятно, очень просто, но не вижу этого.

set @search = "chip";
set @searchin = "CompanyName";

select * from con_search where @searchin like concat ('%',@search,'%')

1

Решение

Это будет работать, однако вы должны очистить данные, поступающие в него

set @search = 'chip';
set @searchin = 'CompanyName';
set @SQL = CONCAT("SELECT * FROM con_search WHERE `", @searchin, "` LIKE CONCAT('%'", @search, "'%');";
PREPARE stmt1 FROM @SQL;
EXECUTE stmt1;
0

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

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

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