еще один тизер мозга.
Это не обычное "но апострофы разбивают мои запросы", так как я знаю все о побегах и дезинфекции, так что я тоже правильно понял.
В БД хранится много вещей с такими именами, как "Assassin's" и "Babe's", которые заканчиваются на "Assassin's 's" и "Babe \' s", восстановление идет хорошо, но поиск по тексту ... болезненный .
LIKE "% Babe \ 's%" не дал результатов, "% Babe \\' s" не дал результатов, "% Babe \ 's" не дал результатов.
НО, если я пойду на сервер напрямую, все они будут давать результаты.
Другими словами, тот же самый запрос SAME, полностью неотредактированный, будет работать непосредственно в движке MySQL, но при отправке через php mysql api он не даст результатов.
Есть идеи, что может вызвать это? (Я проверил 100 раз количество слешей и т. Д., Есть ли проблема с набором символов? "
Много, много, много, большое спасибо заранее.
редактирование:
Думаю, мне лучше разобраться:
"SELECT title FROM games WHERE title LIKE "%assassin\\\'s%";
(Поскольку SQL должен экранировать апостроф, и один из слэшей превратится в сохраненный слеш, поскольку в этом примере мы ищем «Assassin's Creed»)
edit2: Соу мы выяснили, что это вызвано тем, что удалось избежать побегов в реальном дБ, вызванном плохой дезинфекцией. В настоящее время я пытаюсь очистить базу данных и метод ввода.
edit3: Кажется, магические кавычки были как-то включены ... Клянусь, это было отключено! Однако это было не просто так. Оболочка БД, которая находится на этом сайте, имеет событие очистки, а также предварительную очистку, которая вызвала проблему. Это было исправлено сейчас, и теперь я запускаю скрипт (надеюсь) очистить БД ...