关于PHP建立数据库访问类的封装以及操作php单例模式连接数据库封装类
2024-08-26 21:33:29
建立数据库访问类的封装
<?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
;
}
}
单例模式连接数据库封装类
class DB{
static private $a; //实例变量
static private $b; //
private $dbquery = array(
'host' => 'localhost',
'uid' => 'root',
'password' => '',
'dbname' =>'数据库名',
);
private function __construct(){
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();
最新文章
- angular2 问题请教
- EF支持mysq相关配置数码
- Android 中像素px和dp的转化
- cocos2dx的图片载入
- JMS - Temporary Destination
- jquery script
- Javascript参数传递中值和引用的一种理解
- 秒味课堂Angular js笔记------过滤器
- 【解决ViewPager在大屏上滑动不流畅】 设置ViewPager滑动翻页距离
- leetcode:Reverse Nodes in k-Group(以k为循环节反转链表)【面试算法题】
- Spark 2.x不支持ALTER TABLE ADD COLUMNS,没关系,我们改进下
- 第18天	ajax技术和javascript加强(json)
- Codeforces Round #520 (Div. 2) B. Math 唯一分解定理+贪心
- QQ机器人
- 一个SQL语句的优化(sqlserver)
- 利用谷歌网站的翻译网站,实现谷歌翻译api
- pandas 连接数据库直接查表建立dataframe。loc,sort_values数据清洗操作
- 【TCP ZeroWindow】与【TCP window Full】
- Beta冲刺——day6
- 进程间通信IPC -- 管道, 队列