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

Php 致命错误:无法访问空属性-函数connect(),php,Php,当我使用此PHP编码时,出现以下错误: 致命错误:无法访问第29行/connection.php中的空属性 class connectionClass { var $host = ''; var $user = ''; var $password = ''; var $db = ''; var $con function __construct($flag) { if($flag == "local"):

当我使用此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());
    }

}

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

类中的替代语法是什么?错误的做法-您没有编写模板。使用花括号

最可能的问题是:

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

将$password分配给类变量,但$password不是构造函数中的参数。因此,您的$this->密码为空。$this->db也有同样的问题。

类中的替代语法是什么?错误的做法-您没有编写模板。使用花括号

最可能的问题是:

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

将$password分配给类变量,但$password不是构造函数中的参数。因此,您的$this->密码为空。$this->db也有同样的问题。

问题出现在您的'\u构造'函数中

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


注意:变量“$password”第22行的定义也缺失。请确保您也使用值来定义它。

问题在于您的“\u构造”函数

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


注意:变量“$password”第22行的定义也缺失。确保你也用一个值来定义它。

为什么有这些行$此->密码=$password$这->db=$db$password和$db没有定义,因为它们不在函数的作用域内。此外,这是迁移到PDO或mysqli的最佳时机,因为您还没有对此类做太多工作。为什么有这些行$此->密码=$password$这->db=$db$password和$db未定义,因为它们不在函数范围内。此外,这是迁移到PDO或mysqli的最佳时间,因为您还没有对此类做太多工作。感谢您的回复!他们非常有帮助。谢谢你的回复!他们非常有帮助。