<meta charset="utf-8">
<?php
class MyClass
{
private $conn;
private $table;
private $where;
private $insert;
private $order;
private $limit;
protected $sql;
private $field = '*';
//构造函数,连接数据库
public function __construct($host=null, $user_name=null, $pas=null, $dbname=null)
{
$this->conn = mysqli_connect($host, $user_name, $pas, $dbname);
echo (mysqli_connect_error());
mysqli_query($this->conn, 'set names utf8');
/**
* 选择数据表
* @param [type] $table [description]
* @return [type] [description]
*/
public function table($table=null)
{
$this->table = $table;
return $this;
}
/**
* 条件
* @param [type] $where [条件,可以是字符串、数组(一维数组)]例如: ['id', condition']默认为or
* @return [type] [description]
*/
public function where($where=null)
{
if(empty($where))
return "没有传入条件";
if(!is_array($where))
$this->where = ' where '. $where;
else
{
if(count($where)>2)
{
array_pop($where);
$c = ' AND ';
}
else
$c = ' or ';
$str = null;
foreach($where as $k=>$v)
{
$str .= $k.'=' ."'{$v}'" .$c;
}
if($c==' AND ')
$str = substr($str, 0, -5);
else
$str = substr($str, 0, -4);
$this->where = ' where '.$str;
}
return $this;
}
public function error_replace($result)
{
$result = str_replace('column', '字段', $result);
$result = str_replace('Unknown ', '错误', $result);
$result = str_replace(" in 'field list'", '在sql语句中', $result);
return $result;
}
public function select()
{
if(empty($this->table))
return "缺乏查询条件";
$sql = "SELECT " . $this->field .' from '.$this->table. $this->where. $this->order .$this->limit;
$data = mysqli_query($this->conn, $sql);
if(!empty($data))
{
if($data->num_rows==0) $result = null;
while($row=mysqli_fetch_assoc($data))
$result[] = $row;
}
elseif(!empty(mysqli_error($this->conn)))
$result = $this->error_replace(mysqli_error($this->conn));
return $result;
}
public function insert($data=null)
{
$string = null;
$str = '(';
foreach($data as $k=>$v)
{
$string .= $k.',';
$str .= "'{$v}',";
}
$string = rtrim($string, ',');
$str = rtrim($str, ',');
$str .= ')';
$sql = 'INSERT INTO ' . $this->table ."({$string}) values$str";
$status = mysqli_query($this->conn, $sql);
if($status)
return 1;
else
return $this->error_replace(mysqli_error($this->conn));
}
public function delete($data=null)
{
$sql = "DELETE from " . $this->table .$this->where;
return mysqli_query($this->conn, $sql);
}
public function update($data=null)
{
if(empty($data))
return "没有填写更新的数据";
$da = null;
foreach($data as $k=>$v)
$da .= "{$k} = '{$v}',";
$da = rtrim($da, ',');
$sql = "UPDATE ".$this->table." set ".$da. ' '.$this->where;
$status = mysqli_query($this->conn, $sql);
if($status)
return 1;
else
return $this->error_replace(mysqli_error($this->conn));
}
public function field($data='*')
{
$this->field = $data;
return $this;
}
public function limit($data=null)
{
if(empty($data))
$this->limit = null;
else
$this->limit = " limit $data";
return $this;
}
public function order($data=null)
{
if(empty($data))
$this->order = null;
else
{
if(is_array($data))
foreach($data as $k=>$v)
$this->order = " ORDER BY {$k} $v";
else
$this->order = " ORDER BY $data";
}
return $this;
}
}
//连接数据库,参数: 主机地址 账号 密码 数据库名
$conn = new MyClass('localhost', 'root', '', '');
/***************
这里的条件有
where 条件
table 数据表
field 字段
limit 条数限定
order 排序
必须条件有 table
操作有
insert 增
delete 删
update 改
select 查
使用方法如下,简单的操作如下,还有一些操作可以自己查看类里面的方法
*******************/
/*************删除数据***********/
// $conn->table('b_user')->where("id>=16")->delete();
/************添加数据********************/
// $conn->table('b_user')->insert(['user_id'=>'123', 'name'=>'', 'password'=>'asfas', 'phone'=>'asfasfas']);
/****************查询数据***********************/
$data = $conn->table('b_user')->where("id>1")->limit(3)->order('id desc')->select();
// $data = $conn->table('b_user')->where("id in (1,13)")->field('name')->select();
// where也可写成数组形式
var_dump($data);
/***************更新数据********************/
echo $conn->table('b_user')->where(['id'=>32])->update(['name'=>'啦啦啦']);
?>
<?php
class MyClass
{
private $conn;
private $table;
private $where;
private $insert;
private $order;
private $limit;
protected $sql;
private $field = '*';
//构造函数,连接数据库
public function __construct($host=null, $user_name=null, $pas=null, $dbname=null)
{
$this->conn = mysqli_connect($host, $user_name, $pas, $dbname);
echo (mysqli_connect_error());
mysqli_query($this->conn, 'set names utf8');
}
* 选择数据表
* @param [type] $table [description]
* @return [type] [description]
*/
public function table($table=null)
{
$this->table = $table;
return $this;
}
/**
* 条件
* @param [type] $where [条件,可以是字符串、数组(一维数组)]例如: ['id', condition']默认为or
* @return [type] [description]
*/
public function where($where=null)
{
if(empty($where))
return "没有传入条件";
if(!is_array($where))
$this->where = ' where '. $where;
else
{
if(count($where)>2)
{
array_pop($where);
$c = ' AND ';
}
else
$c = ' or ';
$str = null;
foreach($where as $k=>$v)
{
$str .= $k.'=' ."'{$v}'" .$c;
}
if($c==' AND ')
$str = substr($str, 0, -5);
else
$str = substr($str, 0, -4);
$this->where = ' where '.$str;
}
return $this;
}
public function error_replace($result)
{
$result = str_replace('column', '字段', $result);
$result = str_replace('Unknown ', '错误', $result);
$result = str_replace(" in 'field list'", '在sql语句中', $result);
return $result;
}
public function select()
{
if(empty($this->table))
return "缺乏查询条件";
$sql = "SELECT " . $this->field .' from '.$this->table. $this->where. $this->order .$this->limit;
$data = mysqli_query($this->conn, $sql);
if(!empty($data))
{
if($data->num_rows==0) $result = null;
while($row=mysqli_fetch_assoc($data))
$result[] = $row;
}
elseif(!empty(mysqli_error($this->conn)))
$result = $this->error_replace(mysqli_error($this->conn));
return $result;
}
public function insert($data=null)
{
$string = null;
$str = '(';
foreach($data as $k=>$v)
{
$string .= $k.',';
$str .= "'{$v}',";
}
$string = rtrim($string, ',');
$str = rtrim($str, ',');
$str .= ')';
$sql = 'INSERT INTO ' . $this->table ."({$string}) values$str";
$status = mysqli_query($this->conn, $sql);
if($status)
return 1;
else
return $this->error_replace(mysqli_error($this->conn));
}
public function delete($data=null)
{
$sql = "DELETE from " . $this->table .$this->where;
return mysqli_query($this->conn, $sql);
}
public function update($data=null)
{
if(empty($data))
return "没有填写更新的数据";
$da = null;
foreach($data as $k=>$v)
$da .= "{$k} = '{$v}',";
$da = rtrim($da, ',');
$sql = "UPDATE ".$this->table." set ".$da. ' '.$this->where;
$status = mysqli_query($this->conn, $sql);
if($status)
return 1;
else
return $this->error_replace(mysqli_error($this->conn));
}
public function field($data='*')
{
$this->field = $data;
return $this;
}
public function limit($data=null)
{
if(empty($data))
$this->limit = null;
else
$this->limit = " limit $data";
return $this;
}
public function order($data=null)
{
if(empty($data))
$this->order = null;
else
{
if(is_array($data))
foreach($data as $k=>$v)
$this->order = " ORDER BY {$k} $v";
else
$this->order = " ORDER BY $data";
}
return $this;
}
}
//连接数据库,参数: 主机地址 账号 密码 数据库名
$conn = new MyClass('localhost', 'root', '', '');
/***************
这里的条件有
where 条件
table 数据表
field 字段
limit 条数限定
order 排序
必须条件有 table
操作有
insert 增
delete 删
update 改
select 查
使用方法如下,简单的操作如下,还有一些操作可以自己查看类里面的方法
*******************/
/*************删除数据***********/
// $conn->table('b_user')->where("id>=16")->delete();
/************添加数据********************/
// $conn->table('b_user')->insert(['user_id'=>'123', 'name'=>'', 'password'=>'asfas', 'phone'=>'asfasfas']);
/****************查询数据***********************/
$data = $conn->table('b_user')->where("id>1")->limit(3)->order('id desc')->select();
// $data = $conn->table('b_user')->where("id in (1,13)")->field('name')->select();
// where也可写成数组形式
var_dump($data);
/***************更新数据********************/
echo $conn->table('b_user')->where(['id'=>32])->update(['name'=>'啦啦啦']);
?>