У меня есть WYSIWYG ввод для описания. Для того, чтобы сохранить это в базе данных я использовалOracle Где, как htmlentities
$desc = htmlentities($_POST['desc'], ENT_QUOTES, "UTF-8");
Так что на стороне базы данных, описание сохраняется что-то вроде John's
. Теперь я хочу получить все строки, где desc
- LIKE
John's
.
Перед выполнением запроса, я готовлю описание:
$desc = strtolower(htmlentities($desc, ENT_QUOTES, "UTF-8"));
Я использую это на мой ИНЕКЕ:
WHERE LOWER(desc) LIKE '%{$desc}%'
запрос не возвращает ничего, хотя, который где мне нужна ваша помощь ,
EDIT:
на PL/SQL, когда я использую
WHERE LOWER(desc) LIKE '%john's%'
небольшое окно появляется запрос о variables
, который выглядит примерно так:
Name Value
=============
amp (this part is blank)
Может быть, это где проблема есть?
Вы уверены, что это делает замену переменных и не ищет строковый литерал «{$ desc}»? –
Я могу сделать это более длинным способом, используя '.' для добавления строк, но я сделал это несколько раз. Вот как я обычно вставляю переменные внутри строки просто из-за удобства и форматирования. –
Плюс, если я ищу 'Джон', он выбирает правильные строки, как ожидалось. Проблема возникает только при наличии апострофа в строке поиска. –