0

重複の可能性:
別のページの別のクラスで mysqli 接続にアクセスするには?

MYSQLi データベースに接続するための PHP クラスがあり、このクラスを別のクラス内で使用して、準備済みステートメントを作成し、データベースからの情報を表示したいと考えています。

これはまったく可能ですか?

<?php 

    class database {

        public $host = "localhost";
        public $user = "root";
        public $password = "root";
        public $name = "store";


        public function connect() {

            $connect = new mysqli($this->host, $this->user, $this->password, $this->name);

            if($connect->connect_errno > 0){
                die('Unable to connect to database [' . $connect->connect_error . ']');
            }

        }

    }


    class products {

    // In here I want to use a MYSQLi prepared statment to show some information
    // from the database details in the class above

    }



    $database = new database();
    $database->connect(); 

    ?>

前もって感謝します!

4

1 に答える 1

0

他のクラスに接続する代わりに、ブートストラップのどこかに接続して、クラス インスタンスを変数に取得する必要があります。次に、この変数をコンストラクターパラメーターに渡すか、単純に使用することができます

global $db;
$this->db = $db;

コンストラクターで

ちなみに、個別の connect() メソッドの使用は見当たりません。コンストラクターで直接接続しないのはなぜですか? また、代わりにbut (または exception)
を使用しないことをお勧めします。die()trigger_error()

于 2012-12-28T06:07:21.813 に答える