批改状态:合格
老师批语:
[toc] //md 内容表
<?php// 单例模式连接数据库interface iDbBase{//数据库操作 curdstatic function insert($db,$data); //插入static function select($db,$where=[]); //查询static function delete($db,$where=[]); //删除static function update($db,$data,$where=[]); //更改static function doConnect($dsn,$username,$password); //连接}//抽象类abstract class aDb implements iDbBase{// 创建类的唯一实例 pdo对象private static $_instance;// private私有的 阻止此类在外部进行实例化private function __construct(){}// private私有的 阻止此类在外部进行克隆private function __clone(){}static function doConnect($dsn,$username,$password) //静态方法{// 得到pdo连接对象 储存在 $_instanceif(is_null(self::$_instance)){self::$_instance = new PDO($dsn,$username,$password); //类的引用 访问静态成员}return self::$_instance;}}// 工作类class Db extends aDb{//数据库操作 curdstatic function insert($db,$data){}//数据库查询构造器static function select($db,$where=['position'=>1,'id'=>1]){// select filed.. form tableName where gender=1 and id>1// select filed.. form tableName where gender=1$str = '';foreach($where as $k=>$v){if(is_array($where)){if(count($where) > 1){$str .= $k . ' = ' . $v . ' and ';}else{$str .= $k . '=' . $v;}}}if(count($where) > 1){// 去掉where中的最后一个and$str = substr($str,0,strlen($str)-4);// echo $str;}echo $str;// SELECT `uname`, `tel` FROM `iuser` WHERE gender = 1 and id = 20201return $db->query("SELECT `title`, `url` FROM `oyk_ad` WHERE $str ")->fetchAll(PDO::FETCH_ASSOC);}//数据库查询构造器的增static function delete($db,$where=['gender'=>1,'uid'=>20201]){//INSERT INTO 表名称 VALUES ('值', '值1', '值2', '值3')return $db->query("INSERT INTO `iuser`('chloe','zhoujielun521','951242@qq.com','13113113166','','0','1',) ";}//数据库查询构造器的删static function delete($db,$where=['gender'=>1,'uid'=>20201]){//DELETE FROM 表名称 WHERE 列名称 = '值'return $db->query("DELETE FROM `iuser` WHERE uid = '20201' ";}//数据库查询构造器的查static function delete($db,$where=['gender'=>1,'uid'=>20201]){//SELECT 列名称(可多个,返回数组) FROM 表名称return $db->query("SELECT `title`, `url` FROM `iuser` WHERE uid = '20201' ";}//数据库查询构造器的改static function update($db,$data,$where=['gender'=>1,'uid'=>20201]){//UPDATE 表名称 SET 列名称 = '新值' WHERE 列名称 = '某值'return $db->query("UPDATE FROM `iuser` SET uname = '大帅哥胡歌' WHERE uid = '20201' ";}}// 客户端代码$dsn = 'mysql:host=localhost;dbname=chloe';$db = Db::doConnect($dsn,'root','zhoujielun521');// var_dump($db);print_r(Db::select($db));
static function doConnect($dsn,$username,$password); //连接
INSERT INTO 表名称 VALUES (‘值’, ‘值 1’, ‘值 2’, ‘值 3’)
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号