mysql_num_rows()

Главные вкладки

Комментарии

Аватар пользователя gumk gumk 19 августа 2008 в 21:30

почемуто не работает, выдает ошибку
warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in Z:\home\pets3\WWW\themes\garland\node-XXX.tpl.php on line 43.

хотя если просто убрать mysql_num_rows(): то все работает

тоесть и с ним работает, только ошибку выдает

Аватар пользователя gumk gumk 19 августа 2008 в 23:29

не вариант с запросом не очень ), лучше пока вообще выкину эту проверку пока, хотя и выглядит не очень

Аватар пользователя udaf udaf 20 декабря 2010 в 18:20

ходь два года прошло, но все равно с гугла по запросу druplal mysql_num_rows попал сюда.

Делается так db_affected_rows($result);

Аватар пользователя TatKat TatKat 10 января 2012 в 17:21

Столкнулась с той же проблемой
warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in .....
и пришлось лезть в поиск.
А проблема скорее всего возникает потому, что на http://api.drupal.ru/api/function/db_affected_rows/6 в описании функции db_affected_rows() дословно указано "Возвращает количество записей, изменённых предыдущим запросом."
Т.е. записей, измененных предыдущим запросом и в своей работе использует функцию РНР mysql_affected_rows(), которая, судя по документации "не работает с SELECT -- только с запросами, модифицирующими таблицу", потому люди и пытаются использовать стандартную для подсчета количествыа записей, возвращаемых запросом, функцию РНР mysql_num_rows(), в том числе и мой ход мыслей был таким.
Почему-то Гибкий уровень абстракции Друпал не предусмотрел нормальной функции для подсчета количества записей в запросе.
Но не смотря на документацию к РНР, mysql_affected_rows() все таки подсчитал записи и в запросе SELECT, что на данный момент видится мне единственным способом, с моей точки зрения, не совсем правильным. Все-таки основные функции работы с базами должны быть реализованы в Друпал.