1. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

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

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

  1. cabra

    cabra Гость

    Репутация:
    0
    Имею такую структуру:
    статик класс 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.278

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