批改状态:合格
老师批语:
抽象理解透彻:update , delete, insert, Select操作


interface jkDbBase{//数据库插入操作static function insert($db,$data);//数据库查询操作static function select($db,$options=[]);//数据库删除操作static function delete($db,$where);// 数据库更新操作static function update($db,$options=[]);}
abstract class jkDb implements JKDbBase {protected static $db = null;public static function connect($dsn,$username,$password){// 判断是否连接数据库if(is_null(self::$db)){self::$db = new PDO($dsn,$username,$password);}return self::$db;}}
class DB extends jkDb{// 数据插入static function insert($db,$data){$sql = 'INSERT `user` SET `uname`=?,`pwd`=?,`age`=?;';$stmt = $db->prepare($sql);$stmt -> execute($data);return $stmt;}// 数据查询static function select($db,$options=[]){return $db->query('SELECT * FROM `user` LIMIT 2')->fetchAll(PDO::FETCH_ASSOC);}// 数据删除static function delete($db,$where){$sql3 = 'DELETE FROM `user` WHERE `id`= ?;';$stmt3 = $db->prepare($sql3);$stmt3 -> execute([8]);return $stmt3;}// 数据更新static function update($db,$data4=[]){$sql4 = 'UPDATE `user` SET `uname` = ?,`pwd`=?,`age`=? WHERE `id`=?;';$stmt4 = $db->prepare($sql4);$stmt4 ->execute($data4);return $stmt4;}}
$config = ['type' => $type ?? 'mysql','host' => $host ?? 'localhost','dbname' => $dbname??'study','username' => $username ?? 'root','password' => $password ?? '123456',];
$dsn = sprintf('%s:host=%s;dbname=%s;',$config['type'],$config['host'],$config['dbname']);$username = $config['username'];$password = $config['password'];$db = DB::connect($dsn,$username,$password);// 设置错误级别$db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);
// 1、插入数据$data = ['二狗',md5('123456'),26];$stmt = DB::insert($db,$data);if($stmt->rowCount() > 0) echo '插入成功' . $stmt->rowCount() . '条记录,新增数据的id为:' . $db->lastInsertId();// 输出:插入成功1条记录,新增数据的id为:7echo "<hr>";// 2、查询数据foreach ((DB::select($db))as $user){print_r($user);}// 输出:Array ( [id] => 1 [uname] => admin [pwd] => e10adc3949ba59abbe56e057f20f883e [age] => 20 ) Array ( [id] => 2 [uname] => fugen [pwd] => e10adc3949ba59abbe56e057f20f883e [age] => 30 )echo "<hr>";// 3、删除数据$stmt3 = DB::delete($db,$stmt3);if($stmt3->rowCount() > 0) echo '删除成功' . $stmt3->rowCount() . '条记录';// 输出:删除成功1条记录echo "<hr>";// 4、更新数据$data4 = ['毛毛',md5('123456'),52,6];$stmt4 = DB::update($db,$data4);if($stmt4->rowCount() > 0) echo '更新成功' . $stmt4->rowCount() . '条记录';// 输出:更新成功1条记录
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号