@maxyc_webber
Web-программист

Sphinx: Как правильно составить запрос?

Обнаружилась проблема а сайте. Не экранируется переменная.
'@name "' . $value . '"';

Если подавать в value = 1" то выскочит ошибка
SELECT 
     COUNT(*) as `count`, 
     @groupby, IF(cetime > 1443953076, IF(cprice > 0, 2, 1), 0) AS ck 
FROM 
     aa_index 
WHERE 
    activity_id = 298 
    AND MATCH('@name "1""') 
GROUP BY company 
ORDER BY 
     ck DESC, 
     cprice DESC 
LIMIT 
     0, 100000 
OPTION 
     max_matches = 100000

index aa_index_delta,aa_index_main: syntax error, unexpected $end near ''


Как правильно заэкранировать переменную (real_escape_string депрекатед), чтобы шел поиск по 1" или где что поправить в индексе, чтобы кавычки правильно индексировались.

П.с. заказчику принципиаален поиск по 1"
  • Вопрос задан
  • 496 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Panda_Tamara
Разработчик проектов под UMI.CMS
Нет возможности проверить, но возможно вам поможет экранирование с помощью обратного слэша
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы