Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Общая переменная для двух классов, Один наследуется от другого 
:(
    Опции темы
champion
Дата 26.5.2009, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 272
Регистрация: 26.1.2005

Репутация: нет
Всего: 2



Приветствую всех!

Есть два класса:
Код

    class main
    {
        public $stderr  = Array ( );
        
        public function __construct ( )
        {
            require "class.db.php";    
            $db = new db ( "MySQL" , "localhost" , "вава" , "авававв!" , "авав" );            
            $query = $db -> query ("SELECTs * from `табл`");

        }
        
        public function stdout ( )
        {
            print_r ( $this->stderr );
        }
        
        public function stderr ( $err )
        {
            print $err;
            $this -> stderr[] = $err;
        }
    }

    class db extends main
    {
        public $type = "MySQL";
        
        public function __construct ( $type, $host , $login , $password , $db )
        {
            if ( $type == "MySQL" )
            {
                if ( !mysql_connect ( $host , $login , $password ) ) $this -> stderr ( mysql_error() );
                if ( !mysql_select_db ( $db ) ) $this -> stderr ( mysql_error() );
            }
        }
        
        public function &query ( $query )
        {
            if ( $this -> type == "MySQL" )
            {
                $q = mysql_query ( $query );
                if( mysql_error( ) ) $this -> stderr ( mysql_error() );
                return $q;
            }
        }
        
    }


Если при выполнении SQL запроса возникает ошибка, мне нужно передать главному классу main, который был определён в файле index.php, значение в функцию stderr, которая в свою очередь должна добавить в массив stderr сообщение об ошибке.. но почему то не срабатывает. Почему так?



--------------------
user posted image
PM MAIL   Вверх
Elfet
Дата 28.5.2009, 19:37 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



А что не срабатывает?

Добавлено через 3 минуты и 14 секунд
Ошибок не вызывает никаких? 

Я точно не помню, вызывает ли в таком случае наследник конструктор родителя? 

А вообзе очень хитрая структура, можно было бы проще. 


--------------------
PM MAIL WWW Skype   Вверх
nerezus
Дата 29.5.2009, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 12
Всего: 43



А зачем писать свой DB-класс?
В интернете этого тысячи, используй готовый, проверенный и протестированный.
И если что-то не нравится, то исправь эти несколько строк, а не переписывайте все.

P.S. Zend_Db


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0402 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.