Пустая выборка из MySQL, если в запросе есть параметр, содаржащий "\" или "-"
Вот такой запрос у меня:
SELECT count(art),art,art_manufacturer,group_manufacturer
FROM goods
WHERE art_manufacturer = 'ГКБ-44/150'
в phpMyAdmin он успешно отрабатывает и возвращает:
1, 950000258, ГКБ-44/150, Интерскол
в php скрипте у меня следующий код:
$art="ГКБ-44/150";\\для отладки
$query = "SELECT art,art_manufacturer,group_manufacturer FROM goods WHERE art_manufacturer = '".$art."'";
$sql = mysql_query($query);
while ($recResult = mysql_fetch_array($sql))
{
\\тут обработка результата
}
Проблема в том, что скрипт возвращает пустой результат. Где ошибка, помогите пожалуйста.
Как удалось решить мою проблему:
в полном тексте кода была такая строчка mysql_query("SET NAMES cp1251");
после перехода на mysqli - mysqli_query($link,"SET NAMES cp1251");
скрипт сохранен в кодировке UTF-8.
в итоге: запрос к БД содержал такое SELECT art,art_manufacturer,group_manufacturer FROM goods WHERE art_manufacturer ="ГКБ-44/150";
а в БД поле "art_manufacturer" выглядит так: ГКБ-44/150
Источник: Stack Overflow на русском