ФорумПрограммированиеPHP для идиотов → массив засунуть в метод класса.

массив засунуть в метод класса.

  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 14 сентября 2009 г. 17:23, спустя 20 минут 5 секунд

    Fatal error: Declaration of Mysql::query() must be compatible with that of Database::query()

    ты в абстрактном классе передаешь параметры в метод ?
    напиши в абстракте abstract function query($sql);
  • s_s

    Сообщения: 61 Репутация: N Группа: Кто попало

    Spritz 14 сентября 2009 г. 18:24, спустя 1 час 50 секунд


    ты в абстрактном классе передаешь параметры в метод ?
    напиши в абстракте abstract function query($sql);

    сделал. ошибок нет. теперь вообще ничего нет. похоже соединения не происходит: var_dump selectDatabase, connect = NULL, например. selectDatabase() - ничего передвать не надо?
    зы NRG,  ваш код копипастил как есть.
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 14 сентября 2009 г. 19:18, спустя 53 минуты 42 секунды

    в том примере который накалякал я не надо передавать.
    он берет имя бд с protected $_database, пропиши туда имя своей базы и все.
    если хочешь сделать более гибче, то напиши сеттер для $_database типа :
    <?php
    public function setDatabase($database)
    {
    $this->_database = $database;
    return $this;
    }
  • s_s

    Сообщения: 61 Репутация: N Группа: Кто попало

    Spritz 14 сентября 2009 г. 20:44, спустя 1 час 26 минут 10 секунд


    в том примере который накалякал я не надо передавать.
    он берет имя бд с protected $_database, пропиши туда имя своей базы и все.
    если хочешь сделать более гибче, то напиши сеттер для $_database типа :

    спасиб, гибче мне пока не надо, мне бы так освоится))
    свои переменные конечно проставил. и пользователя и пасс и базу, но ничего не происходит. и с рутом без пароля тоже не соединяет. NULL кругом на выходе.
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 14 сентября 2009 г. 20:50, спустя 5 минут 54 секунды

    <?php

    class Mysql
    {
    protected $_host = 'localhost';
    protected $_port = 3306;
    protected $_user = 'root';
    protected $_pswd = '';
    protected $_database = 'qwerty_database';
    protected $_connection = NULL;

    public function __construct()
    {
    $this->connect();
    $this->selectDatabase();
    }

    public function connect()
    {
    if (is_null($this->_connection)) {
    $this->_connection = mysql_connect($this->_host . ':' . $this->_port, $this->_user, $this->_pswd);
    }
    }

    public function selectDatabase()
    {
    mysql_select_db($this->_database, $this->_connection);
    }

    public function query($sql)
    {
    /* your query method */
    }

    /**
    * Other methods you needed
    */
    }

    var_dump(new Mysql);


    object(Mysql)#1 (6) {
    ["_host:protected"]=>
    string(9) "localhost"
    ["_port:protected"]=>
    int(3306)
    ["_user:protected"]=>
    string(4) "root"
    ["_pswd:protected"]=>
    string(0) ""
    ["_database:protected"]=>
    string(15) "qwerty_database"
    ["_connection:protected"]=>
    resource(2) of type (mysql link)
    }

    у меня нулл не наблюдается…
  • s_s

    Сообщения: 61 Репутация: N Группа: Кто попало

    Spritz 14 сентября 2009 г. 21:15, спустя 24 минуты 42 секунды

    ага, вроде работает, разобрался…
    NRG, мои благодарности, с этим похоже разобрался, пойду дальше ковырять ооп))

Пожалуйста, авторизуйтесь, чтобы написать комментарий!