Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Запрос к БД есть, результат есть, mysql_fetch_assoc возвращает FALSE

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
SkaN
Отправлено: 30 Июля, 2011 - 15:31:13
Post Id



Гость


Покинул форум
Сообщений всего: 103
Дата рег-ции: Март 2011  


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1. $query = commentsQueries::getComments($article, $comments_page);
  2. if ($query != 'null') {
  3.         for ($i=0; $i<mysql_num_rows($query); $i++) {
  4.                 $comments_array = mysql_fetch_assoc($query);
  5.                 include 'styles/template/comment.php';
  6.         }
  7. }

Этот код должен делать запрос к методу, который возвращает записи из соответствующей таблицы. Метод точно возвращает, потому что mysql_num_rows($query) вернул положенную единицу. Однако $comments_array == FALSE и эта часть кода спокойно пропускается, скрипт выполняется дальше...
 
 Top
SkaN
Отправлено: 31 Июля, 2011 - 08:24:15
Post Id



Гость


Покинул форум
Сообщений всего: 103
Дата рег-ции: Март 2011  


Помог: 0 раз(а)




если этот привести к такому виду (учитывая то, что в силу обстоятельств только одна запись выводится из БД):
PHP:
скопировать код в буфер обмена
  1. $query = commentsQueries::getComments($article, $comments_page);
  2. $comments_array = mysql_fetch_assoc($query);
  3. include 'styles/template/comment.php';

то ничего не меняется...
а если довести количество записей до двух, то выводится только первая
хотя такой же код спокойно выводит записи из другой таблицы
 
 Top
kochan10
Отправлено: 31 Июля, 2011 - 11:12:41
Post Id


Гость


Покинул форум
Сообщений всего: 118
Дата рег-ции: Дек. 2009  


Помог: 0 раз(а)




По мелочи посоветую mysql_num_rows($query) предварительно сохранить в переменной, иначе функция будет вызываться каждую итерацию, что не есть гуд.
А в случае, когда записей не одна, mysql_num_rows($query) возвращает точное количество записей?
 
 Top
SkaN
Отправлено: 31 Июля, 2011 - 11:28:34
Post Id



Гость


Покинул форум
Сообщений всего: 103
Дата рег-ции: Март 2011  


Помог: 0 раз(а)




kochan10 пишет:
По мелочи посоветую mysql_num_rows($query) предварительно сохранить в переменной

PHP:
скопировать код в буфер обмена
  1. $query = commentsQueries::getComments($article, $comments_page);
  2. $numrows = mysql_num_rows($query);
  3. if ($query != 'null') {
  4.         for ($i=0; $i<$numrows; $i++) {
  5.                 $comments_array = mysql_fetch_assoc($query);
  6.                 include 'styles/template/comment.php';
  7.         }
  8. }

результат тот же
kochan10 пишет:
А в случае, когда записей не одна, mysql_num_rows($query) возвращает точное количество записей?

да, выводит цифру 2
(Добавление)
метод, которым я данные запрашиваю, возвращает таким образом:
PHP:
скопировать код в буфер обмена
  1. if (mysql_fetch_assoc($query) != FALSE) return $query;
  2. else return 'null';

сейчас сообразил, что это может одну запись себе забирать. Если мне напишете, что возвращает MySQL, когда ни на что не натыкается, буду благодарен... А то я и NULL пробовал подставлять ($query != NULL) и FALSE, но они не подходят
(Добавление)
Растерялся
PHP:
скопировать код в буфер обмена
  1. if ($query) return $query;
  2. else return 'null';

теперь все норм...
(Добавление)
SkaN пишет:
Если мне напишете, что возвращает MySQL, когда ни на что не натыкается, буду благодарен... А то я и NULL пробовал подставлять ($query != NULL) и FALSE, но они не подходят

вот это все еще активно, а то не получается у меня вернуть 'null', а надо
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Если скрипт не работает »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB