Я пытаюсь использовать следующий код для поиска по таблице. Если я не использую переменную, все работает нормально, как только я использую переменную (и поле содержит специальные символы), я нажимаю на такие проблемы, как ничего, или запрос никогда не заканчивается.Проблема с использованием переменной mysql
Я пробовал несколько разных вещей, таких как цитаты и т. Д., Но ничего, что я пробовал, работает, мне нужно убедиться, что это работает независимо от того, какие символы находятся в поле.
Любая помощь будет принята с благодарностью :)
SET @description = 'some string to look for';
SELECT * FROM `tbl_master`
WHERE `description` = @description
AND `id` > (
SELECT max(`id`)
FROM `tbl_master`
WHERE `description` != @description
AND `id` < (
SELECT max(`id`)
FROM `tbl_master`
WHERE `description` = @description
)
)
ORDER BY peak DESC
LIMIT 1
Пример без переменной, это работает нормально, но мне нужно, чтобы быть в состоянии передать переменную в код.
SELECT * FROM `tbl_master`
WHERE `description` = 'some string to look for'
AND `id` > (
SELECT max(`id`)
FROM `tbl_master`
WHERE `description` != 'some string to look for'
AND `id` < (
SELECT max(`id`)
FROM `tbl_master`
WHERE `description` = 'some string to look for'
)
)
ORDER BY peak DESC
LIMIT 1
Есть на стороне сервера для вашего приложения? Или, если вы пытаетесь это в MySQL, это часть хранимой процедуры или функции? Или это просто сырой запрос? –
Просто необработанный запрос на данный момент, я могу создать хранимый файл позже. – Andy