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 :: Warning: mysql_error() expects parameter 1 to be resource, integer given in

 PHP.SU

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


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

> Описание: Сможет ли мне кто-нибудь объяснить?
Tka4illa
Отправлено: 16 Октября, 2019 - 10:31:36
Post Id



Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Окт. 2019  
Откуда: Украина


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




Локальный рабочий сайт. Все работало до поры-до времени, пока по неизвестным причинам не появилась ошибка:
Warning: mysql_error() expects parameter 1 to be resource, integer given in //далее прописан путь с указанием на РНР файл страницы, а так же, указана строка, в ходе выполнения которой произошел данный сбой.
В ходе размышлений, а так же посещений различных обучающих ресурсов было установлено, что в данной функции происходит обращение в базу данных, берутся данные, а потом выводятся таблицей.
Ниже прикреплен, кусок соответствующего РНР кода:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. //вывести содержимое таблицы
  3.         $gurnal=mysql_query("SELECT GurnalRn.Id, CompanyName, Comment, Date, Rn, Nn, CompanyNameAlt
  4.                           FROM GurnalRn, Firm
  5.                           WHERE Date >= '2015-01-01' and Firm.Id = FirmId and Rn > 0
  6.                           ORDER BY Date DESC, Rn DESC
  7.                           LIMIT 0, 1000") or die (mysql_error(1));
  8.         while($arr=mysql_fetch_array($gurnal))  {
  9.                 if ($arr['CompanyNameAlt']) {$arr['CompanyName'] = $arr['CompanyNameAlt'];}
  10.                 echo "
  11.                         <tr style='color:#000000;'>
  12.                                 <td>$arr[Date]</td>
  13.                                 <td>$arr[Rn]</a></td>
  14.                                 <td>$arr[CompanyName] $arr[Comment]</td>
  15.                                 <td>$arr[Nn]</td>
  16.                                 <td><a href = edit_gurnal.php?EditRnId=$arr[0]><img src = 'edit.png'></a></td>
  17.                                 <td><a href = gurnal.php?DellRnId=$arr[0]><img src = 'del.png'></a></td>
  18.                         </tr>
  19.                 ";
  20.         }
  21. ?>

Собственно, вопрос: где вообще копать, что это может быть? При том, что раньше все работало нормально, и отображалось корректно.
Дополнительно отмечу, что в ручную лазил в БД, и удалял последнюю запись в таблице GurnalRn, которая содержала в себе пустые типы(NULL) вместо каких либо записей. Но почему-то ахтунг возник с претензией именно на Integer.
Кто сможет мне объяснить, что вообще от меня требует это предупреждение и где искать загвоздку?
 
 Top
LIME
Отправлено: 16 Октября, 2019 - 11:07:45
Post Id


Активный участник


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


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




Tka4illa пишет:
or die (mysql_error(1));
что за 1?
Просто удалить 1. Как-то она там все-таки появилась.
http://www.php.su/mysql_error
 
 Top
Tka4illa
Отправлено: 16 Октября, 2019 - 11:11:26
Post Id



Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Окт. 2019  
Откуда: Украина


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




LIME пишет:
Tka4illa пишет:
or die (mysql_error(1));
что за 1?
Просто удалить 1. Как-то она там все-таки появилась.
http://www.php.su/mysql_error


Ну, раньше ведь с этой еденицей все работалоУлыбка
 
 Top
Строитель
Отправлено: 16 Октября, 2019 - 11:31:34
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


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




Tka4illa пишет:
раньше ведь с этой еденицей все работало
Раньше работало потому, что выполнение скрипта не доходило до правой части этого выражения
PHP:
скопировать код в буфер обмена
  1. // т.е. сюда     ^^^^^^^^^^^^^^^^^^^^
А теперь запрос из левой части этого выражения ( т.е. функция mysql_query() ) возвращает false, и вы получаете результат работы с ошибкой, т.к. передаваемый тип аргумента (integer) не поддерживается функцией mysql_query(). Если удалить единицу, то вы увидите текст ошибки из БД.
 
 Top
Tka4illa
Отправлено: 16 Октября, 2019 - 12:02:52
Post Id



Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Окт. 2019  
Откуда: Украина


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




Строитель пишет:
Tka4illa пишет:
раньше ведь с этой еденицей все работало
Раньше работало потому, что выполнение скрипта не доходило до правой части этого выражения
PHP:
скопировать код в буфер обмена
  1. // т.е. сюда     ^^^^^^^^^^^^^^^^^^^^
А теперь запрос из левой части этого выражения ( т.е. функция mysql_query() ) возвращает false, и вы получаете результат работы с ошибкой, т.к. передаваемый тип аргумента (integer) не поддерживается функцией mysql_query(). Если удалить единицу, то вы увидите текст ошибки из БД.


Огромное вам спасибо за подробное и понятное объяснение. Удалил еденицу, и все заработало.
(Добавление)
LIME пишет:
Tka4illa пишет:
or die (mysql_error(1));
что за 1?
Просто удалить 1. Как-то она там все-таки появилась.
http://www.php.su/mysql_error


Огромное спасибо вам за совет. Все заработало.
 
 Top
Строитель
Отправлено: 16 Октября, 2019 - 12:05:07
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


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




Tka4illa пишет:
Удалил еденицу, и все заработало.
Вам об этом выше по тексту уже говорили
LIME пишет:
Просто удалить 1
Закатив глазки
 
 Top
LIME
Отправлено: 16 Октября, 2019 - 14:24:10
Post Id


Активный участник


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


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




Tka4illa пишет:
Огромное спасибо вам за совет. Все заработало.
я бы не спешил
возможно был изменен уровень отображения ошибок
Warning это такой уровень на котором все худобедно может работать. Возможно раньше этот уровень просто не отображался. Если так, то могут повылазить другие ошибки и особенно это чувствительно в ajax запросах(которые в фоне выполняются без перегрузки страницы). По хорошему их все бы отловить и исправить, но можно просто вернуть прежний уровень ошибок и жить дальше без новых отказов в функционале просто зная что в коде есть ошибки и оно вообще плохо написано и устарело(это так).
(Добавление)
Строитель пишет:
т.к. передаваемый тип аргумента (integer) не поддерживается функцией mysql_query()
не в нее инт передается а в еррор...короче непонятно
это еще если поверить что ничего не менялось
наверняка нет никакого контроля версий так что все со слов тс
чего они там делали им только ведомо и возможно сами не заметили/забыли
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB