php数据库类4.0
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
*/
?>