从类中发出查询/准备语句

时间:2013-02-25 15:05:50

标签: php mysqli

我正在上课:

class SlayWork
{
     public function AllowDB ()
     {
          $MySQLi = new mysqli(DBAHost, DBAUsername, DBAPassword, DBADB);
     }
}

如何从此类中的其他公共函数与我的数据库进行通信?例如:

public function GetTest ()
{
   $Var = $MySQL->prepare("SELECT * FROM test");
   $Var->execute();
   $Var->bind_result($ID, $Uname);
}

添加

public $MySQLi  = new mysqli(DBAHost, DBAUsername, DBAPassword, DBADB); 

没有公共函数返回:

  

解析错误:语法错误,意外的'新'(T_NEW)   第16行的C:\ xampp \ htdocs \ Error \ ClassWork.php

使用public函数添加global返回:

  

解析错误:语法错误,意外'=',期待','或';'在   第18行的C:\ xampp \ htdocs \ Error \ ClassWork.php

1 个答案:

答案 0 :(得分:2)

创建一个像private $db_conn;这样的空属性。然后创建一个类构造,在其中创建如下的连接:

$this->db_conn = new mysqli(DBAHost, DBAUsername, DBAPassword, DBADB);

现在每次实例化您的类时,您都连接到数据库,并且您调用的所有方法都能够与您的数据库进行通信。

实施例

class.php

class Database {
    private $db_conn;

    public function __construct() {
        $this->db_conn = new mysqli(DBAHost, DBAUsername, DBAPassword, DBADB);
    }

    public function GetTest () {
       $Var = $this->db_conn->prepare("SELECT * FROM test");
       $Var->execute();
       $Var->bind_result($ID, $Uname);
    }
}