上篇学习了php一个实例:简单的文章管理系统
2.学习点
这篇将使用单例模式封装一个实现mysql的实例化对象类
3.实现类
3.1 配置文件 config.php
定义常量:主机地址,用户名,密码,数据库名称。
<?php
define('HOST','localhost');
define('USERNAME', 'root');
define('PASSWORD', '');
define('DATABASE', 'test');
3.2 实现 mysqlUtil.php
通过单例模式实例化 mysql_connect() 对象和选择数据库,设置编码集!
<?php
// 单例模式 连接数据库
// 构造函数标记为非public
// 拥有保存类实例的静态成员
// 拥有访问这个实例的公告方法
require_once 'config.php';
class Db {
// 保存实例的静态成员
private static $_instance;
private static $_conn;
// 构成函数
private function __construct() {
}
/**
* 公共入口方法
*/
static public function getInstance() {
// 检测不到,重新实例化 对象
if (! (self::$_instance instanceof self)) {
self::$_instance = new self ();
}
return self::$_instance;
}
/**
* 连接方法
*
* @return resource
*/
public function connect() {
if (! self::$_conn) {
self::$_conn = mysql_connect ( HOST, USERNAME, PASSWORD );
//self::$_conn=mysql_connect('localhost','root','');
if (! self::$_conn) {
die ( '连接失败 ' . mysql_error () );
}
// 选择数据库
mysql_select_db (DATABASE, self::$_conn );
// 设置字符集
mysql_query ( "set names utf8", self::$_conn );
}
return self::$_conn;
}
}
?>
3.3 调用和使用
//调用
$con=Db::getInstance()->connect();
//查询语句
$sql='select * from user_info';
//执行,返回结果集
$result=mysql_query($sql,$con);
//添加的新数组
$arr3=array();
while ($row=mysql_fetch_row($result)){
array_push($arr3,$row);
}
4.总结
使用的时候,需要配置 config.php 文件和调用的时候,不要忘了 调用 connect()方法!
5.demo下载
http://download.csdn.net/detail/lablenet/8995925
版权声明:本文为博主原创文章,未经博主允许不得转载。
php-单例模式实现mysql实例化对象
标签:mysql mysql_query php config.php mysqlutil.php
本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉
本文系统来源:http://blog.csdn.net/lablenet/article/details/47445135