自定义DB类 --- 2021-09-06

自定义mysql DB类 实现增删该查

host = 'rm-uf6kvqj8697g106ccmo.mysql.rds.aliyuncs.com';
        $this->port = '3306';
        $this->user = 'weiyuntao';
        $this->pass = 'Wyt123456';
        $this->db = 'queue';
        $this->charset = 'utf8';
        //连接数据库
        $this->db_connect();
        //选择数据库
        $this->db_userdb();
        //设置字符集
        $this->db_charset();
    }

    //连接数据库
    private function db_connect(){
        $this->link = mysqli_connect(
            $this->host,
            $this->user,
            $this->pass,
            $this->db,
            $this->port
            );
        if(!$this->link){
            echo "连接数据库失败
"; echo "错误编码".mysqli_errno($this->link)."
"; echo "错误编码".mysqli_error($this->link)."
"; exit; } } //设置字符集 private function db_charset(){ mysqli_query($this->link,"set names {$this->charset}"); } //选择数据库 private function db_userdb(){ $result = mysqli_query($this->link,"use {$this->db}"); } //私有的克隆 private function __clone(){ die('clone is not allowed'); } //公用的静态方法 $db = DB::getIntance(); public static function getIntance(){ if(self::$dbcon==false){ self::$dbcon=new self; } return self::$dbcon; } //执行sql语句 public function query($sql){ $res = mysqli_query($this->link,$sql); if(!$res){ echo "sql语句执行失败
"; echo "错误编码是".mysqli_errno($this->link)."
"; echo "错误信息是".mysqli_error($this->link)."
"; } return $res; } //获取最后一条记录id public function getInsertid(){ return mysqli_insert_id($this->link); } /** *查询某个字段 *@param *@return string or int */ public function getOne($sql){ $query = $this->query($sql); return mysqli_free_result($query); } //获取一行记录,return array一维数组 public function getRaw($sql,$type="assoc"){ $query = $this->query($sql); if(!in_array($type,array("assoc","array","row"))){ die("mysqli_query error"); } $funcname = "mysqli_fetch_".$type; return $funcname($query); } //获取多条数据,二维数组 public function getAll(){ $query = $this->query($sql); $list = array(); while($r = $this->getFormSource($query)){ $list[]=$r; } return $list; } public function selectAll($table,$where,$fields = '*',$order='',$skip=0,$limit=1000){ if(is_array($where)){ foreach ($where as $key => $val) { if(is_numeric($val)){ $condition = $key.'='.$val; }else{ $condition = $key.'=\".$val.\"'; } } }else{ $condition = $where; } if(!empty($order)){ $order = "order by ".$order; } $sql = "select $fields from $table where $condition $order limit $skip,$limit"; $result = $this->query($sql); if($result){ return true; }else{ return false; } } /** *添加数据 *@param string $table 表名 *@param string or array $data[数据] *@return int 最新添加的id */ public function insert($table,$data){ $key_str = ''; $v_str = ''; foreach ($data as $key => $v) { $key_str.=$key.','; $v_str.= "'$v',"; } $key_str = trim($key_str,','); $v_str = trim($v_str,','); //判断数据是否为空 $sql = "insert into $table ($key_str) values ($v_str)"; $this->query($sql); return $this->getInsertid(); } //删除一条数据 /** *@param $table $where=array('id'=>'a') 表名 条件 *@return 受影响的行数 */ public function deleteOne($table,$where){ if(is_array($where)){ foreach ($where as $key => $val) { $condition = $key.'='."'$val'"; } }else{ $condition = $where; } $sql = "delete from $table where $condition"; $this->query($sql); //返回受影响的行数 return mysqli_affected_rows($this->link); } /** *删除多条数据方法 *@param1 $table $where 表名 条件 *@reurn 受影响的行数 */ public function deleteAll($table,$where){ if(is_array($where)){ foreach ($where as $key => $val) { if(is_array($val)){ $condition = $key.' '.'in('.implode(',',$val).')'; }else{ $condition = $key.'='.$val; } } }else{ $condition = $where; } $sql = "delete from $table where $condition"; $this->query($sql); //返回受影响的行数 return mysqli_affected_rows($this->link); } /** *修改操作 *@param $table $data $where 表名 数据 条件 */ public function update($table,$data,$where,$limit = 0){ //遍历数组,得到每一个字段和字段的值 $str = ''; foreach ($data as $key => $v) { $str .= "$key='$v',"; } $str = trim($str,','); if(is_array($where)){ foreach ($where as $key => $val) { if(is_array($val)){ $condition = $key.'in ('.implode(',',$val).')'; }else{ $condition = $key.'='.$val; } } }else{ $condition = $where; } if(!empty($limit)){ $limit = "limit".' '.$limit; }else{ $limit = ''; } //修改sql语句 $sql = "update $table set $str where $condition $limit"; $res = $this->query($sql); if($res){ return true; }else{ return false; } } } ?>

引用使用:

'13525728794'
    ];
    $res = $db->insert('order_queue',$data);
    var_dump($res);
?>

你可能感兴趣的:(自定义DB类 --- 2021-09-06)