1

この 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());
    }

}

助言がありますか?前もって感謝します。

4

2 に答える 2

4

クラスの代替構文とは何ですか? 悪い習慣 -- テンプレートを書いていません。中括弧を使用します。

おそらくあなたの問題はここにあります:

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

$password をクラス変数に割り当てますが、$password はコンストラクターのパラメーターではありません。したがって、あなたの $this->password は null です。$this->db と同じ問題。

于 2012-12-22T04:40:44.440 に答える
2

問題は '__construct' 関数にあります。

23 行目の '$this->db = $db;' を見てください。ローカル変数 $db に値を定義してください。

注: 変数 '$password' (22 行目) の定義も欠落しています。それも値で定義してください。

于 2012-12-22T04:49:22.443 に答える