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

  • Автор темы cabra
  • Дата начала
C

cabra

#1
Имею такую структуру:
статик класс 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 == "")

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

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

Прошу любых дельных советов и решений.
Заранее благодарю за ваше время.