用单例模式写一个php数据库管理类

     用惯了CodeIgniter框架,现在突然要自己用原生php开发,还真有点不习惯。。。因为接口开发过程中需要进行数据库的操作。。于是参考一些资料建立自己的

数据库管理类: 

     首先建立数据库连接配置文件:db.config.php 

/*数据库配置文件*/
//开发用数据库
define('DB_NAME', 'order');

/** MySQL数据库用户名 */
define('DB_USER', 'devuser');

/** MySQL数据库密码 */
define('DB_PASSWORD', 'devuser');

/** MySQL主机名 */
define('DB_HOST', 'localhost');

/** 创建数据表时默认的文字编码 */
define('DB_CHARSET', 'utf8');
要习惯于把一些常量写在一个单独的配置文件中,这样修改起来也比较方便....刚开始我开发的时候改来改去,真是一个麻烦啊。。。


然后使用单例模式开发一个简单的DBManager类: 

require_once("db.config.php");
/**
 * Description of DBManager
 * 数据库连接类
 * @author 
 */
class DBManager {
    
    private $conn=null;
    public static $instance = null;
    
    public function __construct(){
        $this->conn = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD) or die("DB Connection Error");
        if(!mysql_select_db(DB_NAME,$this->conn)){  
            echo "失败";  
        }
        mysql_query("set names utf8"); 
    }
    public static function getInstance(){
        if(is_null(self::$instance)){
            self::$instance =new DBManager();
        }
        return self::$instance;
    }
    public function executeSql($sql=null){
        return mysql_query($sql);
    }
    public function insertData($sql){
        mysql_query($sql) or die(mysql_error());
    }
}
在需要调用该数据库类的文件中:

 $dbm = DBManager::getInstance();
 $sql = "select record_time,data from order_t where record_time>$start_time and record_time<$end_time";
 $result = $dbm->executeSql($sql);
这样一个简单的单例模式开发的数据库连接类就可以使用了。。。。只要多思考,还有可以优化的地方。。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值