<?php class MySQLDB{ //屬性 public $host;//服務器地址 public $name;//登陸名 public $pwd;//登陸密碼 public $dbname;//數據庫名 public $charset;//字符集 private static $link;//mysql鏈接資源 private static $resoult;//結果集 //單例模式 public static function getInstance($config){ // echo "getInstance"; if(!isset(self::$link)){ self::$link = new self($config); } return self::$link; } /* 構造方法功能:初始化數據 參數:關聯數組 返回:無 */ private function __construct($config){ // echo "__construct"; //初始化數據 $this->host = isset($config["host"])? $config["host"]:"localhost"; $this->port = isset($config["port"])? $config["port"]:"3306"; $this->name = isset($config["username"])? $config["username"]:"root"; $this->pwd = isset($config["password"])? $config["password"]:"mysql"; $this->dbname = isset($config["dbname"])? $config["dbname"]:"phpshop"; $this->charset = isset($config["charset"])? $config["charset"]:"utf8"; //設置鏈接 $this->connect(); //設置字符集 $this->setChar(); } //禁止克隆 private function __clone(){} public function connect(){ // echo "connect"; //設置鏈接資源 self::$resoult = new MySQLi($this->host,$this->name,$this->pwd,$this->dbname); !mysqli_connect_error() or die("鏈接失敗"); } public function setChar(){ // echo "setChar"; self::$resoult->query("set names ".$this->charset); // $res = self::$link->query("select * from team"); // $attr = $res->fetch_all(); // var_dump($attr); } /* 功能:返回結果集 參數:¥sql 返回:結果集 */ public function query($sql){ $res = self::$resoult->query($sql); // if(!$res){ // echo ("<br />執行失敗。"); // echo "<br />失敗的sql語句爲:" . $sql; // echo "<br />出錯信息爲:" . mysql_error(); // echo "<br />錯誤代號爲:" . mysql_errno(); // die(); // } return $res; } /* 功能:根據結果集 參數:$sql 返回:結果 */ public function getAll($sql){ $res = $this->query($sql); $arr = array(); //空數組 //將結果集轉爲二維關聯數組 while($row = $res->fetch_assoc()){ $arr[] = $row;//這樣就造成二維數組 } return $arr; } /* 功能:根據結果集 返回結果 select 參數:$sql 返回:結果 */ public function getStr($sql){ $res = $this->query($sql); //將結果集轉爲字符串 $attr = $res->fetch_all(); $arr = array(); foreach($attr as $k=>$v){ $arr[] = join(",",$v); } return join("^",$arr); } /* 功能:根據結果集 返回結果 增刪改 參數:$sql 返回:結果 */ public function getjg($sql){ $res = $this->query($sql); return $res; } /* 功能:根據結果集 返回結果 增刪改 參數:$sql 返回:結果json */ public function getJson($sql){ $res = $this->query($sql); $arr = array(); while($row = $res->fetch_assoc()){ $arr[] = $row; } return json_encode($arr); } /*一行數據 返回結果 增刪改 參數:$sql 返回:結果json */ public function getOne($sql){ $res = $this->query($sql); return $res->fetch_assoc(); } }