php实现比较全的数据库操作类
这篇文章主要介绍了php实现比较全的数据库操作类,可实现基本的数据库连接、执行SQL语句及错误提示等相关技巧,需要的朋友可以参考下
本文实例讲述了php实现比较全的数据库操作类。分享给大家供大家参考。具体如下:
hostname="localhost";
$this->user="root";
$this->pass="111";
$this->dbname="";
$this->charset="utf8"; //gb2312 GBK utf8
$this->linkflag=mysql_connect($this->hostname,$this->user,$this->pass);
mysql_select_db($this->dbname,$this->linkflag) or die($this->error());
mysql_query("set names ".$this->charset);
}
function __set($property_name,$value)
{
return $this->$property_name=$value;
}
function __get($property_name)
{
if(isset($this->$property_name))
{
return $this->$property_name;
}
else return null;
}
function __call($function_name, $args)
{
echo "
你所调用的方法 $function_name 不存在
\n";
}
function query($sql)
{
$res=mysql_query($sql) or die($this->error());
return $res;
}
function fetch_array($res)
{
return mysql_fetch_array($res);
}
function fetch_object($res)
{
return mysql_fetch_object($res);
}
function fetch_obj_arr($sql)
{
$obj_arr=array();
$res=$this->query($sql);
while($row=mysql_fetch_object($res))
{
$obj_arr[]=$row;
}
return $obj_arr;
}
function error()
{
if($this->linkflag)
{
return mysql_error($this->linkflag);
}
else return mysql_error();
}
function errno()
{
if($this->linkflag)
{
return mysql_errno($this->linkflag);
}
else return mysql_errno();
}
function affected_rows()
{
return mysql_affected_rows($this->linkflag);
}
function num_rows($sql)
{
$res=$this->execute($sql);
return mysql_num_rows($res);
}
function num_fields($res)
{
return mysql_num_fields($res);
}
function insert_id()
{
$previous_id=mysql_insert_id($this->linkflag);
return $previous_id;
}
function result($res,$row,$field=null)
{
if($field===null)
{
$res=mysql_result($res,$row);
}
else $res=mysql_result($res,$row,$field);
return $res;
}
function version()
{
return mysql_get_server_info($this->linkflag);
}
function data_seek($res,$rowNum)
{
return mysql_data_seek($res,$rowNum);
}
function __destruct()
{
//mysql_close($this->linkflag);
}
}
?>
希望本文所述对大家的php程序设计有所帮助。
,