Не думаю, что это был самый ясный вопрос, но пример должен сделать его немного понятнее.
У меня есть таблица с названиями фильмов, некоторые из которых содержат апострофы. У меня есть окно поиска, которое используется для поиска фильмов.
Если я выполняю поиск через
mov_title = '$search_keywords'
все это работает, но этот метод не даст результатов для частичного поиска, поэтому я должен использовать это
mov_title LIKE '%$search_keywords%'
Этот метод отлично работает для титров A-Za-z0-9, но если заголовок имеет апостроф, он не сможет найти фильм, даже если я точно совпаду.
Перед тем, как заголовки хранятся в БД, я проверяю их следующим образом:
$search_keywords = htmlspecialchars(mysql_escape_string($_GET["search_keywords"]));
Так что в БД перед каждым апострофом стоит косая черта.
Единственный способ сопоставить название фильма с апострофом - физически поставить косую черту перед апострофом в поле поиска.
Это кажется таким тривиальным, и я уверен, что решение до боли очевидно, но я просто не вижу его.