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
Форумы портала PHP.SU :: Версия для печати :: Подскажите, почему выскакивает ошибка?
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » Подскажите, почему выскакивает ошибка?

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

1. Uchenik - 14 Сентября, 2012 - 14:00:15 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. if(mysql_connection($host,$user,$pass,$db) == true)
  2. {
  3.     $res=mysql_query("SELECT * FROM table");
  4.     if(mysql_num_rows($res) > 0)
  5.     {
  6.         while($myr=mysql_fetch_array($res))
  7.         {
  8.             c("listbox")->text .= $myr['Name']." ".$myr['Name2']." ".$myr['Name3']"\n";
  9.         }
  10.     }
  11.     mysql_close();
  12. }  


mysql_num_rows() expects parameter 1to be resource, boolean given
2. DelphinPRO - 14 Сентября, 2012 - 14:51:23 - перейти к сообщению
потому что нужно проверять результат функции mysql_query перед использованием дальше.

Почиайте описание mysql_query, возможно станет ясно, что в случае ошибки она возвращает не ресурс, а булево значение false
3. imya - 14 Сентября, 2012 - 18:49:29 - перейти к сообщению
DelphinPRO пишет:
потому что нужно проверять результат функции mysql_query перед использованием дальше.

Почиайте описание mysql_query, возможно станет ясно, что в случае ошибки она возвращает не ресурс, а булево значение false


Проще говоря сначало превратить в масив, а потом уже проверку делать.
4. DelphinPRO - 14 Сентября, 2012 - 20:54:47 - перейти к сообщению
imya пишет:
Проще говоря сначало превратить в масив, а потом уже проверку делать.

какой массив???
mysql_query возвращает ресурс или буль

проверку надо делать, типа такой:
PHP:
скопировать код в буфер обмена
  1. $res=mysql_query("SELECT * FROM table");
  2. if ($res!==false) {
  3.     //обработка
  4. } else {
  5.     // ошибка выполнения запроса
  6. }

или так, для учебы сойдет:
PHP:
скопировать код в буфер обмена
  1. $res = mysql_query("SELECT * FROM table") or die(mysql_error());
  2. //обработка
5. imya - 14 Сентября, 2012 - 21:56:47 - перейти к сообщению
DelphinPRO пишет:

какой массив???
mysql_query возвращает ресурс или буль

я имел ввиду сразу в масив перегонять её (mysql_fetch_array || assoc)
6. OrmaJever - 14 Сентября, 2012 - 22:08:28 - перейти к сообщению
imya пишет:
я имел ввиду сразу в масив перегонять её (mysql_fetch_array || assoc)

Ну вот автор в масив её сразу перегоняет, только (mysql_fetch_array || assoc) не знаю что перегонять в масив поскольку им передают не русурс, а false

 

Powered by ExBB FM 1.0 RC1