Подскажите с кодировками

L
На сайте с 17.05.2013
Offline
88
404

Что-то запутался совсем с кодировками. Подскажите:

Есть урл:

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,

Поскольку ничего не находит. Почему не выполняется нормально запрос в скрипте? ДАнные доступа к базе проверял - все работает

sabotage
На сайте с 14.02.2007
Offline
192
#1
luckydan:
$res=db_select($sql);

?

mysql_query

sashka_
На сайте с 27.01.2010
Offline
103
#2

Выводи echo mysql_error();

Проблема может проявится.

Ещё надо посмотреть содержимое функции db_select.

Может из за неё не работает mysql_num_rows()

Можно попробовать заменить, db_select на mysql_query(), тогда может подключение к бд не установиться, надо тоже будет отдельно сделать и должно всё работать.

Если есть сомнения в кодировке, лучше сначала тестируй с латинской буквой.

Знаю PHP, JS, jQuery. Помощь для вашего сайта. (/ru/forum/840509).
VHS
На сайте с 28.09.2007
Offline
142
VHS
#3

$res возвращает db_select.

Ошибка mysql_num_rows говорит что пихают в нее в качестве аргумента не то что нужно.

Соответственно нужно смотреть что там в db_select возвращается

L
На сайте с 17.05.2013
Offline
88
#4

Вот функция. Она работает правильно, я ее в первую очередь проверил.

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% что-то не то с кодировкой.. только вот что?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий