Перейти к контенту

Вопрос касательно классов


Рекомендуемые сообщения

class dbclass {
...
var $dbname;
  function db_query($query) {
          $result = mysql_db_query($this->dbname,$query);
          if (!$result)
               exit("Cant execute query: "+$query);
          return $result;
          }
...
}

и вот...

class news {
...
function show($news_per_page) {
                  $query = "SELECT * FROM news";
                  $result = mysql_fetch_array(dbclass::db_query($query));
                  $this->title = $result['title'];
                  }
...
}

Так вот, после выполнения

$экземпляр_класса_news->show(5);

Он выдает

Notice: Undefined ibresource: dbname in c:\www\tinews\db_class.php on line 24

Хотя до этого $dbname присвоена...

Вот мя смущает код

dbclass::db_query($query);

Используется несозданный обьект, поэтому у него нет свойств...

Как бы это обойти?

чтобы $dbname определялась...

Изменено пользователем Anarki
Ссылка на комментарий
Поделиться на других сайтах

$db = new dbclass;

 

global $db в function show

 

и

 

$db->db_query($query); вместо смущающего кода, нэ?

 

В твоем случае ты делаешь вызов статической функции из класса (dbclass::db_query), ей не передается $this при этом.

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.