Anarki Опубликовано 4 Июля 2004 Жалоба Поделиться Опубликовано 4 Июля 2004 (изменено) 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 определялась... Изменено 4 Июля 2004 пользователем Anarki Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
GiV Опубликовано 4 Июля 2004 Жалоба Поделиться Опубликовано 4 Июля 2004 $db = new dbclass; global $db в function show и $db->db_query($query); вместо смущающего кода, нэ? В твоем случае ты делаешь вызов статической функции из класса (dbclass::db_query), ей не передается $this при этом. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.