建立数据库访问类的封装
<?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();
| 欢迎光临 一起源码网 (https://www.171739.xyz/) | Powered by Discuz! X3.3 |