php mysql单表操作_PHP单表操作mysqli数据库类的封装

class DB{

private $options=array(

'database_type' => 'mysql',

'database_name' => 'test',

'server' => 'localhost',

'username' => 'root',

'password' => '',

'charset' => 'utf8'

);

private $link;

static private $instance=null;

static $table;

private function __construct(){

$this->db_connect();

$this->db_setcharset();

}

static public function getInstance($table){

if(!$table) exit('请输入要操作的数据表名');

self::$table=$table;

if (!self::$instance instanceof self) {

self::$instance = new self($config);

}

return self::$instance;

}

private function db_connect(){

$options=$this->options;

try {

$this->link = new mysqli($options['server'], $options['username'], $options['password'],$options['database_name']);

}

catch (Exception $e) {

die("数据库连接失败".$e);

}

}

private function db_setcharset(){

$options=$this->options;

if (!$this->link->set_charset($options['charset'])) {

printf("Error loading : %s\n", $this->link->error);

}

}

private function __clone(){

die('禁止复制对象实例');

}

private function db_query($sql){

$res=$this->link->query($sql);

var_dump($sql);

if(!$res) printf("命令错误: %s\n", $mysqli->error);

return $res;

}

public function insert($data){

$keys=join(",",array_keys($data));

foreach ($data as $key => $value) {

# code...

$value=$this->link->escape_string($value);

}

$values="'".join("','",array_values($data))."'";

$sql="INSERT INTO ".self::$table." ({$keys}) VALUES ({$values})";

$res=$this->db_query($sql);

return $this->link->affected_rows;

}

public function delete($where=null,$tag='and'){

// $where=array("age<28")

$condation=$this->dealWhere($where,$tag);

$sql="delete from ".self::$table.($where==null?null:" where ". $condation);;

$res=$this->db_query($sql);

return $this->link->affected_rows;

}

private function dealWhere($where,$tag){

if(is_array($where)&&count($where)>0){

foreach ($where as $key => $value) {

$condation.=' '.$value.' '.$tag;

}

$condation=trim($condation,$tag);

}elseif(!empty($where)){

$condation=$where;

}else{

$condation='';

}

return $condation;

}

public function update($data,$where=null,$tag='and'){

// $where=array("age<28")

$condation=$this->dealWhere($where,$tag);

if(is_array($where)&&count($where)>0){

foreach ($where as $key => $value) {

$condation.=' '.$value.' '.$tag;

}

$condation=trim($condation,$tag);

}elseif(!empty($where)){

$condation=$where;

}

$values='';

foreach ($data as $key => $value) {

# code...

echo $key;

$value=$this->link->escape_string($value);

$values.=$key."='".$value."',";

}

$values=trim($values,',');

$sql="update ".self::$table." set {$values}".($where==null?null:" where ". $condation);

$res=$this->db_query($sql);

return $this->link->affected_rows;

}

public function select($where=null,$filed='*',$tag='and',$order=null,$limit=null){

$condation=$this->dealWhere($where,$tag);

$sql="select {$filed} from ".self::$table.($where==null?null:" where ". $condation).($order==null?null:" order by ". $order).($limit==null?null:" limit ". $limit);

$res=$this->db_query($sql);

$rows=[];

while ($row = $res->fetch_assoc()) {

$rows[]=$row;

}

return $rows;

}

}

header('content-type:text/html;charset=utf-8');

$db=DB::getInstance('user');

//$insert_id=$db->update(array('username'=>'hello','age'=>30),'id=14');

$rows=$db->select('id>2','*','and',null,'4');

var_dump($rows);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值