Mysql数据库操作类( 1127版,提供源码下载 )


Posted in PHP onDecember 02, 2010

Mysql.class.php 下载

<?php 
class Mysql { 
private $db_host; //主机地址 
private $db_user; //用户名 
private $db_pass; //连接密码 
private $db_name; //名称 
private $db_charset; //编码 
private $conn; 
public $debug=false;//调试开关,默认关闭 
private $query_id; //用于判断sql语句是否执行成功 
private $result; //结果集 
private $num_rows; //结果集中行的数目,仅对select有效 
private $insert_id; //上一步 INSERT 操作产生的 ID 
// 构造/析构函数 
function __construct ($db_host,$db_user,$db_pass,$db_name,$db_charset,$conn) { 
$this->db_host = $db_host ; 
$this->db_user = $db_user ; 
$this->db_pass = $db_pass ; 
$this->db_name = $db_name ; 
$this->db_charset = $db_charset ; 
$this->conn = $conn ; 
$this->connect(); 
} 
function __destruct () { 
@mysql_close($this->conn); 
} 
// 连接/选择数据库 
public function connect () { 
if ($this->conn == 'pconn') { 
@$this->conn = mysql_pconnect($this->db_host,$this->db_user,$this->db_pass); 
} else { 
@$this->conn = mysql_connect($this->db_host,$this->db_user,$this->db_pass); 
} 
if (!$this->conn) { 
$this->show_error('数据库-连接失败:用户名或密码错误!'); 
} 
if (!@mysql_select_db($this->db_name,$this->conn)) { 
$this->show_error("数据库-选择失败:数据库 $this->db_name 不可用"); 
} 
mysql_query("SET NAMES $this->db_charset"); 
return $this->conn; 
} 
// query方法 
public function query ($sql) { 
if ($this->query_id) $this->free_result(); 
$this->query_id = @mysql_query($sql,$this->conn); 
if (!$this->query_id) $this->show_error("SQL语句 <b>\"$sql\"</b> 执行时遇到错误"); 
return $this->query_id; 
} 
// 显示详细错误信息 
public function show_error ($msg) { 
if($this->debug){ 
$errinfo = mysql_error(); 
echo "错误:$msg <br/> 返回:$errinfo<p>"; 
}else{ 
echo '<p>出现错误!<p>'; 
} 
} 
// 获得query执行成功与否的信息 
public function get_query_info($info){ 
if ($this->query_id) { 
echo $info; 
} 
} 
// 查询所有 
public function findall ($table_name) { 
$this->query("select * from $table_name"); 
} 
// mysql_fetch_array 
public function fetch_array () { 
if ($this->query_id) { 
$this->result = mysql_fetch_array($this->query_id); 
return $this->result; 
} 
} 
// ...... 
public function fetch_assoc () { 
if ($this->query_id) { 
$this->result = mysql_fetch_assoc($this->query_id); 
return $this->result; 
} 
} 
public function fetch_row () { 
if ($this->query_id) { 
$this->result = mysql_fetch_row($this->query_id); 
return $this->result; 
} 
} 
public function fetch_object () { 
if ($this->query_id) { 
$this->result = mysql_fetch_object($this->query_id); 
return $this->result; 
} 
} 
// 获取 num_rows 
public function num_rows () { 
if ($this->query_id) { 
$this->num_rows = mysql_num_rows($this->query_id); 
return $this->num_rows; 
} 
} 
// 获取 insert_id 
public function insert_id () { 
return $this->insert_id = mysql_insert_id(); 
} 
// 显示共有多少张表 
public function show_tables () { 
$this->query("show tables"); 
if ($this->query_id) { 
echo "数据库 $this->db_name 共有 ".$this->num_rows($this->query_id)." 张表<br/>"; 
$i = 1; 
while ($row = $this->fetch_array($this->query_id)){ 
echo "$i -- $row[0]<br/>"; 
$i ++; 
} 
} 
} 
// 显示共有多少个数据库 
public function show_dbs(){ 
$this->query("show databases"); 
if ($this->query_id) { 
echo "共有数据库 ".$this->num_rows($this->query_id)." 个<br/>"; 
$i = 1; 
while ($this->row = $this->fetch_array($this->query_id)){ 
echo "$i -- ".$this->row[Database]."<br />"; 
$i ++; 
} 
} 
} 
// 删除数据库:返回删除结果 
public function drop_db ($db_name='') { 
if ($db_name == '') { 
$db_name = $this->db_name;//默认删除当前数据库 
$this->query("DROP DATABASE $db_name"); 
}else { 
$this->query("DROP DATABASE $db_name"); 
} 
if ($this->query_id) { 
return "数据库 $db_name 删除成功"; 
}else { 
$this->show_error("数据库 $db_name 删除失败"); 
} 
} 
// 删除数据表:返回删除结果 
public function drop_table ($table_name) { 
$this->query("DROP TABLE $table_name"); 
if ($this->query_id) { 
return "数据表 $table_name 删除成功"; 
}else { 
$this->show_error("数据表 $table_name 删除失败"); 
} 
} 
// 创建数据库 
public function create_db ($db_name) { 
$this->query("CREATE DATABASE $db_name"); 
if($this->query_id){ 
return "数据库 $db_name 创建成功"; 
}else { 
$this->show_error("数据库 $db_name 创建失败"); 
} 
} 
// 获取数据库版本 
public function get_info(){ 
echo mysql_get_server_info(); 
} 
// 释放内存 
public function free_result () { 
if ( @mysql_free_result($this->query_id) ) 
unset ($this->result); 
$this->query_id = 0; 
} 
} // End class 
?>

PHP 相关文章推荐
php 无极分类(递归)实现代码
Jan 05 PHP
php中使用ExcelFileParser处理excel获得数据(可作批量导入到数据库使用)
Aug 21 PHP
PHP高级对象构建 工厂模式的使用
Feb 05 PHP
基于wordpress主题制作的具体实现步骤
May 10 PHP
使用array mutisort 实现按某字段对数据排序
Jun 18 PHP
解析PHP正则提取或替换img标记属性
Jun 26 PHP
php实现简单爬虫的开发
Mar 28 PHP
PHP foreach遍历多维数组实现方式
Nov 16 PHP
PHP PDOStatement::errorInfo讲解
Jan 31 PHP
PHP多进程通信-消息队列使用
Mar 08 PHP
PHP 图片合成、仿微信群头像的方法示例
Oct 25 PHP
laravel开发环境homestead搭建过程详解
Jul 03 PHP
PHP分页函数代码(简单实用型)
Dec 02 #PHP
php图片处理:加水印、缩略图的实现(自定义函数:watermark、thumbnail)
Dec 02 #PHP
php小偷相关截取函数备忘
Nov 28 #PHP
php与paypal整合方法
Nov 28 #PHP
网站用php实现paypal整合方法
Nov 28 #PHP
paypal即时到账php实现代码
Nov 28 #PHP
解析PayPal支付接口的PHP开发方式
Nov 28 #PHP
You might like
PHP 采集心得技巧
2009/05/15 PHP
给初学者的30条PHP最佳实践(荒野无灯)
2011/08/02 PHP
Symfony2框架学习笔记之表单用法详解
2016/03/18 PHP
Jquery插件之多图片异步上传
2010/10/20 Javascript
JS教程:window.location使用方法的区别介绍
2013/10/04 Javascript
如何用JavaScript定义一个类
2014/09/12 Javascript
浅谈javascript构造函数与实例化对象
2015/06/22 Javascript
兼容各大浏览器的JavaScript阻止事件冒泡代码
2015/07/09 Javascript
javascript求日期差的方法
2016/03/02 Javascript
浅谈js里面的InttoStr和StrtoInt
2016/06/14 Javascript
AngularJS 路由详解和简单实例
2016/07/28 Javascript
JS实现微信弹出搜索框 多条件查询功能
2016/12/13 Javascript
基于jQuery实现左侧菜单栏可折叠功能
2016/12/27 Javascript
JavaScript中三个等号和两个等号你了解多少
2017/07/04 Javascript
Angular.js初始化之ng-app的自动绑定与手动绑定详解
2017/07/31 Javascript
JS实现浏览上传文件的代码
2017/08/23 Javascript
jQuery+ajax读取json数据并按照价格排序示例
2018/03/28 jQuery
JavaScript+Canvas实现彩色图片转换成黑白图片的方法分析
2018/07/31 Javascript
angularJs在多个控制器中共享服务数据的方法
2018/09/30 Javascript
在小程序开发中使用npm的方法
2018/10/17 Javascript
深入浅析JavaScript中的in关键字和for-in循环
2020/04/20 Javascript
javascript canvas封装动态时钟
2020/09/30 Javascript
[00:15]TI9观赛名额抽取
2019/07/10 DOTA
linux系统使用python监测系统负载脚本分享
2014/01/15 Python
Python MySQL数据库连接池组件pymysqlpool详解
2017/07/07 Python
python使用Tkinter实现在线音乐播放器
2018/01/30 Python
Python 中Pickle库的使用详解
2018/02/24 Python
基于wxPython的GUI实现输入对话框(2)
2019/02/27 Python
使用Python代码实现Linux中的ls遍历目录命令的实例代码
2019/09/07 Python
记一次django内存异常排查及解决方法
2020/08/07 Python
Python使用正则表达式实现爬虫数据抽取
2020/08/17 Python
Python如何获取文件路径/目录
2020/09/22 Python
python使用bs4爬取boss直聘静态页面
2020/10/10 Python
汽车运用工程毕业生自荐信
2013/10/29 职场文书
关爱老人标语
2014/06/21 职场文书
小学四年级学生评语
2014/12/26 职场文书