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 :: Запрос в БД в пользовательской функции

 PHP.SU

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


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

> Описание: Не работают запросы в БД в пользовательской функции, хотя отдельно работают
isle
Отправлено: 22 Января, 2010 - 05:12:46
Post Id



Гость


Покинул форум
Сообщений всего: 111
Дата рег-ции: Окт. 2009  
Откуда: Казахстан, Алматы


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




Решил поупражняться в пользовательских функциях, но как только стал переходить на них, сразу же получил ошибки при запросах в БД. Странно, но сами запросы написаны правильно и отдельно работают, например, если просто написать:

CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. $sql = "SELECT `domain_lastcheck` FROM `domain` WHERE `domain_name`='".$site_domain."' LIMIT 1";
  3. $R = mysql_query($sql,$db) or die("SQL ERROR in line ".__LINE__.", function mysql_query");
  4. $row = mysql_fetch_array($R);
  5. echo $site_last_analysis = $row[0];
  6. ?>


Но это же самое в функции следом:

CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. function site_last_analysis() {
  3.  $sql = "SELECT `domain_lastcheck` FROM `domain` WHERE `domain_name`='".$site_domain."' LIMIT 1";
  4.  $R = mysql_query($sql,$db) or die("SQL ERROR in line ".__LINE__.", function mysql_query");
  5.  $row = mysql_fetch_array($R);
  6.  return $row[0];
  7. }
  8. site_last_analysis();
  9. ?>


выдает ошибку: mysql_query(): supplied argument is not a valid MySQL-Link resource in.... Кто-нибудь в курсе, почему так?

(Отредактировано автором: 22 Января, 2010 - 05:15:30)

 
 Top
Viper
Отправлено: 22 Января, 2010 - 07:41:15
Post Id



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


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


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




isle
global $site_domain, $db; в начале функции

(Отредактировано автором: 22 Января, 2010 - 07:41:34)



-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
isle
Отправлено: 22 Января, 2010 - 08:17:09
Post Id



Гость


Покинул форум
Сообщений всего: 111
Дата рег-ции: Окт. 2009  
Откуда: Казахстан, Алматы


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




Капец, извелся уже... Опять на этом Глобале споткнулся, блин. Да, global нужно воткнуть во внутрь самой функции, а не ставить его снаружи, иначе одни и теже переменные делятся на локальные (внутри функции) и глобальные вне ее. Хорошо бы об этом в примере написать (на сайте php.su), а то там совсем всё простенько.

Спасибо, теперь работает.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB