MySQL 数据库访问类
2022-11-12 09:20:48
内容摘要
这篇文章主要为大家详细介绍了MySQL 数据库访问类,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记!/*** @Purpose: Mysql数据库访问类* @Pa
文章正文
这篇文章主要为大家详细介绍了MySQL 数据库访问类,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记!
/*** @Purpose: Mysql数据库访问类* @Package:* @Author: lisen@sellingclub.cn* @Modifications:* @See:* @Time: 2008.10.10*/class DB_MYSQL{//============================================================private $Host = 'localhost';private $Database = 'db_name';private $User = 'user';private $Password = 'password';//============================================================private $Link_Id = 0; //数据库连接private $Query_Id = 0; //查询结果private $Row_Result = array(); //结果集组成的数组private $Field_Result = array(); //结果集字段组成的数组private $Affected_Rows; //影响的行数private $Rows; //结果集中记录的行数private $Fields; //结果集中字段数private $Row_Postion = 0; //记录指针位置索引public $Insert_Id = 0;//************************************************************/**** 构造函数 ****/function __construct(){$this->connect();}/**** 析构函数 ****/function __destruct(){@mysql_free_result($this->Query_Id);mysql_close($this->Link_Id);}/**** 连接服务器,选择数据库 ****/function connect($Database = '',$Host = '',$User = '',$Password = ''){$Database = $Database == '' ? $this->Database : $Database;$Host = $Host == '' ? $this->Host : $Host;$User = $User == '' ? $this->User : $User;$Password = $Password == '' ? $this->Password : $Password;//-----------------------------------------------------------//if(0 == $this->Link_Id){$this->Link_Id = @mysql_pconnect($Host,$User,$Password);if(!$this->Link_Id){$this->halt('连接数据库服务端失败!');}if(!mysql_select_db($this->Database,$this->Link_Id)){$this->halt('不能打开指定的数据库:'.$this->Database);}}return $this->Link_Id;}/**** 释放内存 ****/function free(){if(@mysql_free_result($this->Query_Id)){unset($this->Row_Result);}$this->Query_Id = 0;}/**** 执行查询 ****/function query($Query_String){//释放上次查询内存if($this->Query_Id){$this->free();}if(0 == $this->Link_Id){$this->connect();}//设置中文字符集@mysql_query('set names gb2312');$this->Query_Id = mysql_query($Query_String,$this->Link_Id);$this->Insert_Id = mysql_insert_id();if(!$this->Query_Id){$this->halt('SQL查询语句出错:'.$Query_String);}@mysql_query('set names gb2312');return $this->Query_Id;}/**** 将结果集指针指向指定行 ****/function seek($pos){if(@mysql_data_seek($this->Query_Id,$pos)){$this->Row_Position = $pos;return true;}else{$this->halt('定位结果集发生错误!');return false;}}/**** 返回结果集组成的数组 ****/function get_rows_array(){$this->get_rows();for($i = 0; $i < $this->Rows; $i++){if(!mysql_data_seek($this->Query_Id,$i)){$this->halt('mysql_data_seek 查询出错!');}$this->Row_Result[$i] = mysql_fetch_array($this->Query_Id);}return $this->Row_Result;}/**** 返回结果集字段组成的数组 ****/function get_fields_array(){$this->get_fields();for($i = 0; $i < $this->Fields; $i++){$obj = mysql_fetch_field($this->Query_Id,$i);$this->Field_Result[$i] = $obj->name;}return $this->Field_Result;}/**** 返回影响记录数 ****/function get_affected_rows(){$this->Affected_Rows = mysql_affected_rows($this->Link_Id);return $this->Affected_Rows;}/**** 返回结果集中的记录数 ****/function get_rows(){$this->Rows = mysql_num_rows($this->Query_Id);return $this->Rows;}/**** 返回结果集中的字段个数 ****/function get_fields(){$this->Fields = mysql_num_fields($this->Query_Id);return $this->Fields;}/**** 执行sql语句并返回由查询结果中第一行记录组成的数组 ****/function fetch_one_array($sql){ @mysql_query('set names gb2312');$this->query($sql);return mysql_fetch_array($this->Query_Id);}/**** 打印错误信息 ****/function halt($msg){$this->Error = mysql_error();printf("<font style='font-family:Arial,宋体;font-size:12px;'> <b>数据库发生错误:</b> %s \n",$msg);printf("MySQL 返回错误信息:</b> %s \n",$this->Error);printf("错误页面:<font style='color:#0000EE;text-decoration:underline'>%s</font> \n",$_SERVER['PHP_SELF']);printf(" 请将错误信息提交到系统管理员或网站程序员处理! \n");die('<b><font color=red>脚本终止</font></b></font>');}}注:关于MySQL 数据库访问类的内容就先介绍到这里,更多相关文章的可以留意
代码注释