Notice: Trying To Get Property Of Non-object. для Property Of Static P

Тема в разделе "PHP программирование", создана пользователем cabra, 12 авг 2011.

  1. cabra

    cabra Гость

    Имею такую структуру:
    статик класс Loader, выполняющий функцию сервиса имеет статичное свойство $db
    $db это что-то вроде mysql wrapper-a.
    До какоо-то определенного момента все работало без проблем, сейчас же получаю такую ошибку:
    Notice: Trying to get property of non-object.....

    конкретно куски кода вызывающие еррор:

    Код (PHP):
    class Loader extends AObject{
    private static $db;

    public static function getDB() {
    if (self::$db == null)
    self::$db = new CSqlRat();
    return self::$db;
    }
    ...
    Код (PHP):
    <?php
    class CSqlRat {

    var $host="localhost";
    var $user="user";
    var $password="password";
    var $dbname="database";

    var $query = "";
    var $numOfResults = 0;
    var $results = array();
    var $currentResult = 0;


    function __construct($host = "", $user = "", $password = "", $dbname = "") {
    if($host !== "") $this->host = $host;
    if($user !== "") $this->user = $user;
    if($password !== "") $this->password = $password;
    if($dbname !== "") $this->dbname = $dbname;
    if ($this->host == "" || $this->user == "" || $this->password == "") { //if missing parameters, show error.
    $this->criticalError("Missing arguments for database connection!");
    }
    if (!mysql_connect($this->host, $this->user, $this->password)) {
    $this->criticalError("Failed to connect to database!");
    }

    if ($this->dbname !== "") $this->query("use $this->dbname;");
    if(mysql_errno() == 1049) $this->criticalError("Failed to select a database!");
    }
    Ошибка на этой линии: if($this->host == "" || $this->user == "" || $this->password == "")

    Насколько я понимаю ошибка связана с тем что я пытаюсь получить свойство несуществующего объекта. Никак не могу понять где моя ошибка, так как это конструктор, который вызывается как раз при создании нового объекта.

    Несколько дней назад все работало как часы. Сейчас работает через раз, вероятно в сессии после неудачного запроса объект создается.

    Прошу любых дельных советов и решений.
    Заранее благодарю за ваше время.
     
Загрузка...
Похожие Темы - Notice Trying Get
  1. Nekros
    Ответов:
    1
    Просмотров:
    1.188

Поделиться этой страницей