- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко
В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Что-то запутался совсем с кодировками. Подскажите:
Есть урл:
http://site.com/tags_autocomplete.php?main=0&lng=ru&q=%D1%8B
В tags_autocomplete.php:
$sql="SELECT id, name from tags2 WHERE parent='".$_GET['main']."' and lng='".$_GET['lng']."' and name LIKE '%".iconv("utf-8", "windows-1251", $_GET["q"])."%' ORDER BY name DESC LIMIT 10";
echo $sql."<br>";
$res=db_select($sql);
if(mysql_num_rows($res)>0) { echo "Результат есть<br>"; }
На страницу в браузере при заходе на такой урл выводится запрос:
SELECT id, name from tags2 WHERE parent='0' and lng='ru' and name LIKE '%ы%' ORDER BY name DESC LIMIT 10
ЗАпись в таблице с буквой "ы" есть(проверяю в phpmyadmin)
Почему в скрипте тогда не выводится "Результат есть" ?
---------- Добавлено 21.03.2014 в 14:46 ----------
Включил вывод ошибок. Ругается на Warning: mysql_num_rows() expects parameter 1 to be resource,
Поскольку ничего не находит. Почему не выполняется нормально запрос в скрипте? ДАнные доступа к базе проверял - все работает
$res=db_select($sql);
?
mysql_query
Выводи echo mysql_error();
Проблема может проявится.
Ещё надо посмотреть содержимое функции db_select.
Может из за неё не работает mysql_num_rows()
Можно попробовать заменить, db_select на mysql_query(), тогда может подключение к бд не установиться, надо тоже будет отдельно сделать и должно всё работать.
Если есть сомнения в кодировке, лучше сначала тестируй с латинской буквой.
$res возвращает db_select.
Ошибка mysql_num_rows говорит что пихают в нее в качестве аргумента не то что нужно.
Соответственно нужно смотреть что там в db_select возвращается
Вот функция. Она работает правильно, я ее в первую очередь проверил.
function db_select($sql)
{
$connection = @mysql_connect('localhost', 'root', 'pass') or die("connet");
$db = @mysql_select_db('baza', $connection) or die("select");
$result = @mysql_query($sql,$connection) or die("query");
return $result;
}
У меня 100% что-то не то с кодировкой.. только вот что?