时间:2021-07-01 10:21:17 帮助过:5人阅读
建立数据库访问类的封装
<?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();
以上就是php数据库访问类的封装及操作单例模式连接数据库封装类的实例的详细内容,更多请关注Gxl网其它相关文章!