<?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();
}
}