- /**
- * @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 数据库访问类
2019-10-25 16:06mysql教程网 Mysql
Mysql数据库访问类 实现代码,对于想学习mysql操作类的朋友值得一看
延伸 · 阅读
- 2022-06-24实战搭建MySQL高可用架构(手残党表示都会了!)
- 2022-06-24MySQL 数据库查询慢(除了索引问题还可能是什么原
- 2022-06-24面试官:线上MySQL的自增id用尽怎么办?
- 2022-06-24Python连接数据库并批量插入包含日期记录的操作
- 2022-06-07MongoDB创建与删除数据库
- 2022-06-06NoSQL优缺点与mongoDB数据库简介
- Mysql
mysql数据库备份及恢复命令 mysqldump,source的用法
mysql数据库备份及恢复命令 mysqldump,source的用法,需要的朋友可以参考下。 ...
- Mysql
MySQL教程彻底学懂存储过程
这篇文章主要为大家介绍了MySQL系列的存储过程,文中详细的为大家解释存储过程的相关概念及用法语法,以及对存储过程的理解解析,有需要的朋友可以...
- Mysql
mysql 5.6.17 绿色版(免安装)安装配置教程
这篇文章主要为大家详细介绍了mysql 5.6.17 绿色版(免安装)安装配置教程,感兴趣的小伙伴们可以参考一下...
- Mysql
清理Mysql general_log的方法总结
在本篇文章里小编给大家分享的是一篇关于清理Mysql general_log的相关知识点,需要的朋友们学习下。...
- Mysql
幻读为什么会被 MySQL 单独拎出来解决?
所谓幻读,即一个事务在前后两次查询同一个范围的时候,后一次查询看到了前一次查询没有看到的行,这个回答估计大伙儿已经背烂了,但是它具体有什...
- Mysql
MySQL启动报错问题InnoDB:Unable to lock/ibdata1 error
这篇文章主要介绍了MySQL启动报错问题InnoDB:Unable to lock/ibdata1 error,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要...
- Mysql
数据库管理,不能没有这5个MySQL GUI工具
MySQL的数据库管理工具非常多,有哪些优秀的GUI工具可以帮助提高工作效率?不妨看一看这5个MySQL GUI工具...
- Mysql
win10 64位 MySQL8.0下载和安装教程图解
这篇文章主要介绍了MySQL下载和安装 win10 64位 MySQL8.0的教程图解,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下...