网站制作学习网PHP→正文:php数据库类4.0
字体:

php数据库类4.0

PHP 2010/10/27 17:32:52  点击:不统计

http://%77%77%77%2E%66网站制作%6F学习网%72%61%73%70%2E%63%6E

php采用单例模式创建的数据库连接类,修改4.0篇.

<?php
class Datelink
{
var $DateServer = "localhost";//mysql数据库地址
var $DateBase = "test";//mysql中的数据库
var $DateUser = "root";//mysql数据库连接帐号
var $Datepwd = "";//mysql数据库连接密码
var $dbLink;//连接对象
var $result;//数据查询结果
var $insert_id;//定义插入序号
var $affected_rows;//定义影响行数
static $data_obj;
#采用单例模式,实例化时进行数据库连接
function __construct(){
$this->dbLink=@mysql_connect($this->DateServer,$this->DateUser,$this->Datepwd)or die(mysql_error());
if(!$this->dbLink)$this->dbhalt("exsiting error when connecting!");
if(!@mysql_select_db($this->DateBase,$this->dbLink))$this->dbhalt("can't use this database,please check database!");
mysql_query("set names gb2312",$this->dbLink);//如果是utf-8可以改为utf-8 
}
private function __clone(){}
static function contect_data(){
if(!self::$data_obj instanceof self){
 self::$data_obj = new self();
}
return self::$data_obj;
}
function __set($name,$value){//设置属性
$this->$name=$value;
}
function __get($name){//获取属性
return $this->$name;
}
function dbhalt($errmsg){//错误反馈
die($errmsg);
}
function fetch_array(){//获取记录集记录,参数记录集
return mysql_fetch_array($this->result);
}
function execute($sql){//执行sql
$this->result = mysql_query($sql,$this->dbLink);

}
function num_rows(){//返回行数,参数记录集
return mysql_num_rows($this->result);
}
function get_rows($sql){//返回行数,参数为sql
$this->execute($sql);
return $this->num_rows($this->result);
}
function insert($sql){//插入sql-有自动增长序号,返回新建序号
$this->execute($sql);
$this->insert_id = mysql_insert_id($this->dbLink);
$this->free_result($this->result);
return $this->insert_id;
}
function insert_($sql){//插入sql-没有自动增长序号,返回影响行数
$this->execute($sql);
$this->affected_rows = mysql_affected_rows($this->dbLink);
$this->free_result($this->result);
return $this->affected_rows;
}
function update($sql){//更新sql
$this->execute($sql);
$this->affected_rows=mysql_affected_rows($this->dbLink);
$this->free_result($this->result);
return $this->affected_rows;
}
function del($sql){//删除sql
$this->execute($sql);
$this->affected_rows=mysql_affected_rows($this->dbLink);
$this->free_result($this->result);
return $this->affected_rows;
}
function free_result(){//释放记录集
@mysql_free_result($this->result);
}
function close(){//关闭当前数据库
@mysql_close($this->dbLink);
}
}//结束class的括号
$db=Datelink::contect_data();
/**
 * @author  卢会杰
 * time 2010-9-9
 * blog:http://www.forasp.cn
 * @copyright luhuijie 2010-9-9
 * @name  data link class
 */
?>


forasp.cn

·上一篇:php生成文件类 >>    ·下一篇:php读取所有数据库和表 >>
推荐文章
最新文章