0

我有一个正在使用的课程:

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); 

没有公共函数返回:

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

使用公共函数添加global返回:

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

4

1 回答 1

2

创建一个空属性,如private $db_conn;. 然后创建一个类构造并在其中创建如下连接:

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

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

例子:

类.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);
    }
}
于 2013-02-25T15:11:12.977 回答