通过类连接数据库

Lea*_*zhi 0 php database class connect

我想要创建一个包含各种常规变量和函数的类,以便在整个网站中使用.其中一件事就是数据库连接.我正在尝试以下代码:

class Sys {
  public $dbc = new mysqli('localhost', 'user', 'pass', 'db');
  $dbc->query("SET NAMES 'utf8' COLLATE 'utf8_unicode_ci'");
}

$system = new Sys;
Run Code Online (Sandbox Code Playgroud)

它在课程的第一行给我一个语法错误......我做错了什么?谢谢

nva*_*sch 6

你应该在构造函数中做这样的事情.您只能在初始声明中设置基元.您还需要在创建对象时使用大括号.

class Sys {
  private $dbc;
  private $someInteger = 4; // you can do this
  private $someArray = array(); // and this.

  public function __construct()
  {
    $this->dbc = new mysqli('localhost', 'user', 'pass', 'db');
    $this->dbc->query("SET NAMES 'utf8' COLLATE 'utf8_unicode_ci'");
  }

  public function getDbc()
  {
    return $this->dbc;
  }

}

$system = new Sys();
//$system->getDbc()->soSomethingWithMyDb(); 
Run Code Online (Sandbox Code Playgroud)

我建议你阅读使用对象:http://php.net/manual/en/language.types.object.php