一起源码网

  • www.171739.xyz
  • 全球最大的互联网技术和资源下载平台
搜索
猜你喜欢
查看: 5224|回复: 1
打印 上一主题 下一主题

php数据库访问类的封装及操作单例模式连接数据库封装类的实例 ... ...

[复制链接]

0

主题

0

帖子

1万

积分

钻石会员

Rank: 8Rank: 8

积分
17424
QQ
跳转到指定楼层
楼主
发表于 2020-4-25 02:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

建立数据库访问类的封装

<?php
class DBDA
{
    public $host = "localhost"; //服务器地址
    public $uid = "root"; //数据库的用户名
    public $pwd = ""; //数据库的密码
    public $dbname = "";//数据库名
     
    //执行SQL语句,返回相应结果的函数
    //$sql是要执行的SQL语句
    //$type是SQL语句的类型,0代表增删改,1代表查询
    //$db代表要操作的数据库
    public function Query($sql,$type=1,$db="xm_youxiang")
    {
        //造连接对象
        $conn = new MySQLi($this->host,$this->uid,$this->pwd,$db);
         
        //判断连接是否成功
        !mysqli_connect_error() or die("连接失败!");
         
        //执行SQL语句
        $result = $conn->query($sql);
         
        //判断SQL语句类型
        if($type==1)
        {
            //如果是查询语句返回结果集的二维数组
            return $result->fetch_all();
        }
        else
        {
            //如果是其他语句,返回true或false
            return $result;
        }
    }


单例模式连接数据库封装类

单例模式有三大原则:

构造函数不能为public

有一个保存实例的静态成员变量

拥有访问这个实例的公共静态方法

基于单例模式的PHP数据库连接类:

class DB{
    static private $a;  //实例变量
    static private $b;  //
    private $dbquery = array(
        'host' => 'localhost',
        'uid' => 'root',
        'password' => '',
        'dbname' =>'数据库名',
    );
    private function __construct(){
    }
    static public function show(){
        if(!(self::$a aof self)){
            self::$a = new self();
        }
        return self::$a;
    }
    public function connect(){
        if(!self::$b){
            self::$b = mysql_connect($this->
dbquery
['host'],$this->
dbquery
['uid'],$this->
dbquery
['password']);
            if(!self::$b){
                die('mysql error'.mysql_error());
            }
            //mysql_select_db($this->
dbquery
['dbname'],self::$b);
           //mysql_query("set names UTF8",self::$b);
        }
        return self::$b;
    }
}

使用时直接实例化

eg:$connect = DB::
show
()->connect();

分享到:  QQ好友和群QQ好友和群
收藏收藏
回复

使用道具 举报

0

主题

9

帖子

33

积分

新手上路

Rank: 1

积分
33
沙发
发表于 2022-9-29 09:30 | 只看该作者
源代码电影在线看
回复

使用道具 举报

一起源码让程序更轻更快

www.171739.xyz

工作时间 周一至周六 8:00-17:30

侵权处理

客服QQ点击咨询

关注抖音号

定期抽VIP

Copyright © 2016-2021 https://www.171739.xyz/ 滇ICP备13200218号

快速回复 返回顶部 返回列表