不要认为自己比别人做得好,即便你很出色。常问自己,谁对我有恩还没加倍报答。杜绝事必躬亲,学会抓大放小。
Model类内容
<?php
//引入数据库连接信息文件
require_once 'database.php';
class Model
{
protected $field = '*';
protected $order = "";
protected $limit = '';
//构造函数
public function __construct()
{
$this->Db = new mysqli(HOST,USER,PWD,DBNAME);
$this->Db->set_charset('utf8');
if(mysqli_connect_errno()) {
die(mysqli_connect_error());
}
}
//查询表
public function table($table) {
$this->where = array();
$this->table = $table;
return $this;
}
//查询条件
public function where($where) {
$this->where = $where;
return $this;
}
//查询条数
public function limit($limit) {
$this->limit = $limit;
return $this;
}
//排序
public function order($order) {
$this->order = $order;
return $this;
}
//查询字段
public function field($field) {
$this->field = $field;
return $this;
}
//数据内容
public function data($data) {
$this->data = $data;
return $this;
}
//构造sql查询语句
private function _select_sql() {
$where = '';
if(is_array($this->where)) {
foreach ($this->where as $k => $v) {
$v = is_string($v) ? "'".$v."." : $v;
$where .="{$k} = {$v} and ";
}
}else {
$where = $this->where;
}
$limit = $this->limit == '' ? '' : "limit {$this->limit}";
$order = $this->order == '' ? '' : "order by {$this->order}";
$where = rtrim($where,'and ');
$where = $where =='' ? '': "where {$where}";
$sql = "select {$this->field} from {$this->table} {$where} {$order} {$limit}";
return $sql;
}
//获取单条数据
public function items() {
$sql = $this->_select_sql();
$query = $this->db->query($sql);
$res = $query->fetch_all(MYSQLI_ASSOC);
if($query) {
return isset($res[0]) ? $res[0] : false;
}else {
return $this->Db->error;
}
}
//获取多条数据
public function lists() {
$sql = $this->_select_sql();
$query = $this->Db->query($sql);
$res = $query->fetch_all(MYSQLI_ASSOC);
if($query) {
return $res;
}else {
return $this->Db->error;
}
}
//构造更新sql语句
private function _update_sql() {
$where = '';
if(is_array($this->where)) {
foreach ($this->where as $k => $v) {
$v = is_string($v) ? "'".$v."." : $v;
$where .="{$k} = {$v} and ";
}
}else {
$where = $this->where;
}
$data = '';
if(is_array($this->data)) {
foreach ($this->data as $k => $v) {
$v = is_string($v) ? "'".$v."'" : $v;
$data .= " {$k} = {$v},";
}
}else{
$data = $this->data;
}
$data = rtrim($data,',');
$where = rtrim($where,'and ');
$where = $where =='' ? '': "where {$where}";
$sql = "update {$this->table} set {$data} {$where}";
return $sql;
}
//数据更新
public function update() {
$sql = $this->_update_sql();
$query = $this->Db->query($sql);
if($query) {
return true;
}else {
return $this->Db->error;
}
}
//构造删除sql语句
private function _delete_sql() {
$where = '';
if(is_array($this->where)) {
foreach ($this->where as $k => $v) {
$v = is_string($v) ? "'".$v."'" : $v;
$where .="{$k} = {$v} and ";
}
}else {
$where = $this->where;
}
$where = rtrim($where,'and ');
$where = $where =='' ? '': "where {$where}";
$sql = "delete from {$this->table} {$where}";
return $sql;
}
//删除数据
public function delete() {
$sql = $this->_delete_sql();
$query = $this->Db->query($sql);
if($query) {
return true;
}else {
return $this->Db->error;
}
}
//构造新增sql语句
private function _insert_sql() {
$name = '';
$info = '';
if(is_array($this->data)) {
foreach ($this->data as $k => $v) {
$v = is_string($v) ? "'".$v."'" : $v;
$name .= "{$k},";
$info .= "{$v},";
}
}
$name = rtrim($name,',');
$info = rtrim($info,',');
$sql = "insert into {$this->table} ({$name}) values ({$info})";
return $sql;
}
//新增数据
public function insert() {
$sql = $this->_insert_sql();
$query = $this->Db->query($sql);
if($query) {
return true;
}else {
return $this->Db->error;
}
}
//析构函数
public function __destruct()
{
$this->Db->close();
}
}
连接信息文件内容
<?php
define('HOST','127.0.0.1');//数据库地址
define('USER','root');//数据库用户名
define('PWD','root');//数据库密码
define('DBNAME','demo');//数据库名
调用方法示例
<?php
require_once 'Model.php';
$db = new Model();
$data = [
'username'=>'demo',
'password'=>'123456789789456123'
];
//更新示例
$update = $db->table('root_admin')->data($data)->where('id=2')->update();
//新增示例
$insert = $db->table('root_admin')->data($data)->insert();
//删除示例
$detete = $db->table('root_admin')->where('id=1')->delete();
//查询示例 单条数据查询
$result = $db->table('root_admin')->where('id=1')->items();
//查询示例 多条数据查询
$res = $db->table('root_admin')->where('id>2')->lists();
//查询示例 按字段查询
$res = $db->table('root_admin')->field('name,age')->where('id>2')->lists();
//查询示例 排序
$res = $db->table('root_admin')->where(''id>2')->order('id DESC')->lists();
本文PHP数据库链式操作类-PHP数据库操作类到此结束。贪婪是最真实的贫穷,满足是最真实的财富。小编再次感谢大家对我们的支持!