/** * @Purpose: Mysql数据库访问类 * @Package: * @Author: lisen@sellingclub.cn * @Modifications: * @See: * @Time: .. */ 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 gb'); $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 gb'); 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 gb'); $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:px;'> <b>数据库发生错误:</b> %s n",$msg); printf("MySQL 返回错误信息:</b> %s n",$this->Error); printf("错误页面:<font style='color:#EE;text-decoration:underline'>%s</font> n",$_SERVER['PHP_SELF']); printf(" 请将错误信息提交到系统管理员或网站程序员处理! n"); die('<b><font color=red>脚本终止</font></b></font>'); } }
推荐整理分享Mysql 数据库访问类(mysql数据库访问速度慢的解决方法),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:mysql访问方式,mysql访问方式,MySQL数据库访问软件,MySQL数据库访问软件,Mysql数据库访问记录,MySQL数据库访问分为两种类型,MySQL数据库访问默认的端口号为,Mysql数据库访问记录,内容如对您有帮助,希望把文章链接给更多的朋友!
MySQL 数据库跨操作系统的最快迁移方法 数据库文件很大,约有G,如果普通的迁移,需要在原始数据库导出数据,然后在新数据库导入数据经仔细考虑,是否MySQL的数据库文件存储格式在不同
MySQL 数据库的临时文件究竟储存在哪里 如果未设置TMPDIR,MySQL将使用系统的默认值,通常为/tmp、/var/tmp或/usr/tmp。如果包含临时文件目录的文件系统过小,可对mysqld使用—tmpdir选项,在具有足
MySQL 优化设置步骤 如果使用的是MySQL5.0.x可以直接将以下内容保存替换MySQL中的my.ini,记得要修改basedir和datadir两个栏目的路径。[client]port=[mysql]default-character-set=gbk[mysqld]