Correcting teacher:查无此人
Correction status:qualified
Teacher's comments:完成的不错,继续加油。
<?php
class db{
public $dsn;
public $username;
public $password;
public $pdo;
//构造方法,设置pdo连接参数
public function __construct($dsn,$username,$password){
$this->dsn=$dsn;
$this->username=$username;
$this->password=$password;
$this->connect();
}
//数据连接方法
public function connect(){
try {
//实例化PDO类,创建PDO对象
$this->pdo=new PDO($this->dsn,$this->username,$this->password);
} catch (PDOException $e) {
die('数据库错误:'.$e->getMessage());
}
return $pdo;
}
//查询方法 传参说明(表名,字段名或字段名数组,查询条件,排序条件,分页条件)
public function select($table,$fields, $where='', $order='',$limit=''){
//连接pdo
$this->connect();
//创建SQL语句
$sql = 'SELECT ';
if (is_array($fields)) {
foreach ($fields as $field) {
$sql .= $field.', ';
}
} else {
$sql .= $fields;
}
$sql = rtrim(trim($sql),',');
$sql .= ' FROM '.$table;
//查询条件
if(!empty($where)){
$sql .= ' WHERE '.$where;
}
//排序条件
if(!empty($order)) {
$sql .= ' order by '.$order;
}
//分页条件
if(!empty($limit)) {
$sql .= ' limit '.$limit;
}
$sql .= ';';
//创建PDO预处理对象
$stmt = $this->pdo->prepare($sql);
//执行查询操作
if($stmt->execute()){
if($stmt->rowCount()>0){
$stmt->setFetchMode(PDO::FETCH_ASSOC);
//返回一个二维数组
return $stmt->fetchAll();
}
} else {
return false;
}
}
//插入数据方法 传参说明(表名,值(数组[字段名=>值]))
function insert($table,$data=[]){
//连接pdo
$this->connect();
//创建SQL语句
$sql = "INSERT INTO {$table} SET ";
//组装插入语句
if(is_array($data)){
foreach ($data as $k=>$v) {
$sql .= $k.'="'.$v.'", ';
}
}else{
return false;
}
//去掉尾部逗号,并添加分号结束
$sql = rtrim(trim($sql),',').';';
//创建PDO预处理对象
$stmt = $this->pdo->prepare($sql);
//执行新增操作
if($stmt->execute()){
if($stmt->rowCount()>0){
return true;
}
} else {
return false;
}
}
//更新数据方法 传参说明(表名,值(数组[字段名=>值]),条件)
function update($table,$data=[], $where='') {
//连接pdo
$this->connect();
//创建SQL语句
$sql = "UPDATE {$table} SET ";
//组装修改语句
if(is_array($data)){
foreach ($data as $k=>$v) {
$sql .= $k.'="'.$v.'", ';
}
}
//去掉尾部逗号,并添加分号结束
$sql = rtrim(trim($sql),',');
//查询条件
if(!empty($where)){
$sql .= ' WHERE '.$where;
}
//创建PDO预处理对象
$stmt = $this->pdo->prepare($sql);
//执行新增操作
if($stmt->execute()){
if($stmt->rowCount()>0){
return true;
}
} else {
return false;
}
}
//删除数据方法 传参说明(表名,条件)
function delete($table,$where=''){
//连接pdo
$this->connect();
//创建SQL语句
$sql = "DELETE FROM {$table} ";
//查询条件
if(!empty($where)){
$sql .= ' WHERE '.$where;
}
//创建PDO预处理对象
$stmt = $this->pdo->prepare($sql);
//执行删除操作
if($stmt->execute()){
if($stmt->rowCount()>0){
return true;
}
} else {
return false;
}
}
}
//创建对像
$db=new db('mysql:host=localhost;dbname=tj_ys','root','123123');
// var_dump($db);
// 调用查询数据方法
$user=$db->select('user','*','','','');
print_r($user);
// 调用插入数据方法
// $db->insert('user',['phone'=>'13390773018','name'=>'张三','pwd'=>md5('123123'),'age'=>'22']);
// 调用更新数据方法
// $db->update('user',['pwd'=>md5('123123'),'age'=>'25'],'uid=19');
// 调用删除数据方法
// $db->delete('user','uid=19');
?>