//数据库操作
class DB{
//数据库连接 句柄
private $conn = null ;
private $table = null;
//预定项
private $sysConfig =array(
'host' => '',
'user' => '',
'pwd' => '',
'db' => ''
);
private static $_instance = null;//给单例的
private function __construct($config){
$this->sysConfig = array_merge($this->sysConfig,$config);
$this->conn = new Mysqli($this->sysConfig['host'],$this->sysConfig['user'],$this->sysConfig['pwd'],$this->sysConfig['db']);
}
public static function getInstance($config){
if(is_null(self::$_instance)){
self::$_instance = new self($config);
}
return self::$_instance;
}
public function table($table){
$this->table = $table;
return $this;
}
public function add(){
}
public function update(){
}
public function delete(){
}
private function changeCondition($condition){
$where_array = array();
foreach($condition as $k => $v){
if(is_string($v)){
$where_array[] = "$k = '$v'";
}
if(is_array($v)){
if($v[0] == 'like'){
$where_array[] = "$k $v[0] '%$v[1]%'";
}else{
$where_array[] = "$k $v[0] $v[1]";
}
}
}
$where = implode(' and ',$where_array);
return $where?$where:1;
}
public function select($condition){
$where = $this->changeCondition($condition);
$sql = "select * from $this->table where ".$where;
$result = $this->conn->query($sql);
$ret = array();
while($row = $result->fetch_assoc()){
$ret[] = $row;
}
return $ret;
}
}
//配置项
$config = array(
'host' => '127.0.0.1',
'user' => 'root',
'pwd' => '12345678',
'db' => 'ajax'
);
$condition = array (
'username' => array('like','2'),
'password' => '123456'
);
$db = DB::getInstance($config);
$res = $db->table('js_user')->select($condition);
var_dump($res);