致命错误:无法访问空属性 - 函数connect()

时间:2012-12-22 04:36:59

标签: php

当我使用这个PHP编码时,我收到以下错误:

致命错误:第29行无法访问/connection.php中的空属性

class connectionClass
{

    var $host = '';
    var $user = '';
    var $password = '';
    var $db = '';
    var $con

    function __construct($flag)
    {
        if($flag == "local"):
            $this->host = "localhost";
            $this->user = "root";
        elseif($flag == "remote"):
            $this->host = "192.168.1.2";
            $this->user = "root";
        else:
            echo "Incorrect connection flag.";
        endif;

        $this->password = $password;
        $this->db = $db;
    }

    function connect()
    {
        $con = mysql_connect($this->host, $this->user, $this->password) or die(mysql_error());
        mysql_select_db($this->db, $con) or die(mysql_error());
    }

}

有什么建议吗?提前谢谢。

2 个答案:

答案 0 :(得分:4)

类中的替代语法是什么?不好的做法 - 你不是在写模板。使用大括号。

很可能你的问题在这里:

 $this->password = $password;
 $this->db = $db;

您为类变量指定了$ password,但$ password不是构造函数中的参数。所以你的$ this->密码为空。 $ this-> db。

也存在同样的问题

答案 1 :(得分:2)

问题在于你的构造'功能

查看第23行,' $ this-> db = $ db;'。确保使用值定义局部变量$ db。

注意:变量' $ password'的定义(第22行)也不见了。确保使用值定义它。