Подскажите с mysql_num_rows

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

При ипользовании mysql_num_rows выдает ошибку: Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /var/www/

$sql="SELECT id, name from tags WHERE name LIKE '%".$s."%' ORDER BY name DESC LIMIT 10";

$res=db_select($sql);

echo mysql_num_rows($res);

echo "<BR>".$sql;

ЗАпрос копирую из браузера и подставляю в пхпмайадмин - все нормально работает ищет то что надо. Подскажите почему же ругается на функцию? в чем еррор? Как ее найти?

totamon
На сайте с 12.05.2007
Offline
437
#1
luckydan:
$res=db_select($sql);

может быть в этом? в пхпмайадмин заодно посмотрите как в php запрос выполняется

Домены и хостинг https://8fn.ru/regru | Дедик от 3000р https://8fn.ru/73 | VPS в Москве https://8fn.ru/72 | Лучшие ВПС, ТП огонь, все страны! https://8fn.ru/inferno | ХОСТИНГ №1 РОССИИ https://8fn.ru/beget
C
На сайте с 04.02.2005
Offline
277
#2
luckydan:
При ипользовании mysql_num_rows выдает ошибку: Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /var/www/

$sql="SELECT id, name from tags WHERE name LIKE '%".$s."%' ORDER BY name DESC LIMIT 10";
$res=db_select($sql);
echo mysql_num_rows($res);
echo "<BR>".$sql;
ЗАпрос копирую из браузера и подставляю в пхпмайадмин - все нормально работает ищет то что надо. Подскажите почему же ругается на функцию? в чем еррор? Как ее найти?

а что будет в $res

а что требует mysql_num_rows();

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

с db_select все нормально, я проверил. В пхпмайадмин запрос тоже віполняется - ищет что надо. Такое впечатление что он на сервер отдается не в той кодировке

Mad_Man
На сайте с 10.11.2008
Offline
162
#4

luckydan, быдлокод. Страшнейший.

1. Warning - не ошибка.

2. Библиотека mysql_* устарела, юзайте mysqli или PDO.

3. db_select - вообще часть API от друпала, я понятия не имею на кой чёрт вы результат работы класса ORM с поддержкой паттерна Query Builder запихиваете в качестве ресурса в mysql_num_rows.

C
На сайте с 04.02.2005
Offline
277
#5
luckydan:
с db_select все нормально, я проверил. В пхпмайадмин запрос тоже віполняется - ищет что надо. Такое впечатление что он на сервер отдается не в той кодировке

Вы читать умеете?

Вы уверены в своей правоте - ищите истину сами

Вопросы заданы.

---------- Добавлено 28.04.2015 в 22:22 ----------

Mad_Man:
luckydan, быдлокод. Страшнейший.

1. Warning - не ошибка.
2. Библиотека mysql_* устарела, юзайте mysqli или PDO.
3. db_select - вообще часть API от друпала, я понятия не имею на кой чёрт вы результат работы класса CMS запихиваете в качестве ресурса в mysql_num_rows.

Потому что бедумный копипаст - наше Фсе!!!

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

При чем здесь быдлокод и вобще друпал

db_select - коннектор к базе, который сам написал

РЕшил вопрос так:

require_once('/system/classes/convertcharset/convertcharset.class.php');

$sh = new ConvertCharset("UTF-8","windows-1251");

$s = $sh->Convert(trim($_GET['q']));

web-developer
На сайте с 24.11.2014
Offline
15
#7

Давненько я не видал такого кода)

ТС посмотрите в сторону фреймворков.

Mad_Man
На сайте с 10.11.2008
Offline
162
#8
web-developer:
Давненько я не видал такого кода)
ТС посмотрите в сторону фреймворков.

Фреймворк не поможет. Персонаж не просекает, что сбрасывает вместо сорца чёрный ящик вкупе с явным говнокодом из-за отсутствия опыта и знаний.

siv1987
На сайте с 02.04.2009
Offline
427
#9
luckydan:
db_select - коннектор к базе, который сам написал

"коннектор к базе" это mysql connect. У вас должен быть mysql query с результатом выполнения resource id этого запроса. Вам warning прямо об этом говорит, что вместо resource вы передаете boolean значение. Либо ваш запрос не прошел и у вас синтаксическая ошибка в нем, либо ваша функция возвращает boolean значение.

luckydan:
РЕшил вопрос так:

var_dump($res);

if($res) echo mysql_num_rows($res); else die(mysql_error());

Экранировать данные не пробовали?

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