批改状态:合格
老师批语:动动手, 收获大,看是看不会的
源码:
<?php//接口应用场景:用抽象类来实现接口// 定义一个数据库的增删改查require __DIR__ ."/config.php";interface iDbase{public static function insert($db,$data);//添加public static function select($db,$option=[]);//查询public static function update($db,$option);//更新public static function delete($db,$where);//删除}// 实现类:使用抽象类来充当abstract class aDb implements iDbase{//使用单例模式连接:创建类的唯一对象//抽象类充当接口实现类时,不用必须实现接口中的抽象方法//当实现类中的方法中有一些公共操作时,可以将这些操作放在中间的抽象类中实现它protected static $db =null;public static function cennect($dsn,$username,$password){if(is_null(self::$db)) //如果当前连接对象是:null,表示未连接数据库{self::$db = new PDO($dsn,$username,$password);}return self::$db;}}//类的真正实现类class DB extends aDb{public static function insert($db,$data){extract($data);$sql='INSERT `user` SET `username`=?,`password`=?,`age`=?,`sex`=?,`email`=?,`mobile`=?;';$stmt = $db->prepare($sql);$stmt->execute([$username,$password,$sex,$age,$mobile,$email]);return '成功点击了'.$stmt->rowCount().'条数据';}//添加public static function select($db,$option=[]){return $db->query('SELECT * FROM `user` LIMIT 3')->fetchAll(PDO::FETCH_ASSOC);}//查询public static function update($db,$data){extract($data);$id=334;$sql = 'UPDATE `user` SET `username`=?,`password`=?,`sex`=?,`age`=?,`email`=?,`mobile`=? WHERE `Id`>?;';$stmt = $db->prepare($sql);$stmt->execute([$username,$password,$sex,$age,$email,$mobile,$id]);return '更新了'.$stmt->rowCount().'条数据';}//更新public static function delete($db,$id){$sql = 'DELETE FROM `user` WHERE `Id`>?;';$stmt = $db->prepare($sql);$stmt->execute([$id]);return '成功删除'.$stmt->rowCount().'条记录';}}$db = DB::cennect($dsn,$username,$password);// foreach (DB::select($db) as $user)// {// print_r($user);// }$data = ['username'=>'嫦娥','password'=> sha1('8888'),'age'=> 98,'sex'=>'女','email'=> 'ce@163.com','mobile'=> '15687874598',];$insert = new DB;$id = 334;echo $insert->insert($db,$data);echo $insert->update($db,$data,);echo $insert->delete($db,$id);
示例图:
总结:知道这是错误的写法,不过可以完成增删改查,在接下来的课程中在对此次作业进行正确的编写
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号