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 相关文章推荐
杏林同学录(九)
Oct 09 PHP
PHP实现MySQL更新记录的代码
Jun 07 PHP
深入理解PHP原理之Session Gc的一个小概率Notice
Apr 12 PHP
PHP MySQL应用中使用XOR运算加密算法分享
Aug 28 PHP
php从字符串创建函数的方法
Mar 16 PHP
PHP中如何使用session实现保存用户登录信息
Oct 20 PHP
PHP代码维护,重构变困难的4种原因分析
Jan 25 PHP
Apache PHP MySql安装配置图文教程
Aug 27 PHP
ThinkPHP框架结合Ajax实现用户名校验功能示例
Jul 03 PHP
PHP使用gearman进行异步的邮件或短信发送操作详解
Feb 27 PHP
Yii 框架入口脚本示例分析
May 19 PHP
PHP替换Word中变量并导出PDF图片的实现方法
Nov 26 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
索尼ICF-SW100收音机评测
2021/03/02 无线电
PHP个人网站架设连环讲(四)
2006/10/09 PHP
php正则取img标记中任意属性(正则替换去掉或改变图片img标记中的任意属性)
2013/08/13 PHP
php快速查找数据库中恶意代码的方法
2015/04/01 PHP
WordPress开发中用于获取近期文章的PHP函数使用解析
2016/01/05 PHP
PHP简单日历实现方法
2016/07/20 PHP
php利用递归实现删除文件目录的方法
2016/09/23 PHP
php实现当前页面点击下载文件的实例代码
2016/11/16 PHP
javascript与asp.net(c#)互相调用方法
2009/12/13 Javascript
五段实用的js高级技巧
2011/12/20 Javascript
深入理解JavaScript系列(12) 变量对象(Variable Object)
2012/01/16 Javascript
jquery的ajax简单结构示例代码
2014/02/17 Javascript
javascript中JSON对象与JSON字符串相互转换实例
2015/07/11 Javascript
JavaScript ParseFloat()方法
2015/12/18 Javascript
JS构造函数与原型prototype的区别介绍
2016/07/04 Javascript
20分钟打造属于你的Bootstrap站点
2016/07/27 Javascript
Mint-UI时间组件起始时间问题及时间插件使用
2018/08/20 Javascript
webpack4 升级迁移的实现
2018/09/12 Javascript
jquery弹窗时禁止body滚动条滚动的例子
2019/09/21 jQuery
使用vue-cli4.0快速搭建一个项目的方法步骤
2019/12/04 Javascript
JavaScript函数重载操作实例浅析
2020/05/02 Javascript
Python+Django在windows下的开发环境配置图解
2009/11/11 Python
python list排序的两种方法及实例讲解
2017/03/20 Python
pandas基于时间序列的固定时间间隔求均值的方法
2019/07/04 Python
使用wxpy实现自动发送微信消息功能
2020/02/28 Python
斯德哥尔摩通票:Stockholm Pass
2018/01/09 全球购物
什么情况下你必须要把一个类定义为abstract的
2013/01/06 面试题
2014年商场超市庆元旦活动方案
2014/02/14 职场文书
热爱祖国的演讲稿
2014/05/04 职场文书
中学清明节活动总结
2014/07/04 职场文书
商务英语专业毕业生求职信
2014/07/06 职场文书
婚宴邀请函
2015/01/30 职场文书
2015年学生会工作总结范文
2015/03/31 职场文书
2015年学校安全工作总结
2015/04/22 职场文书
个人催款函范文
2015/06/23 职场文书
详解Go语言Slice作为函数参数的使用
2021/07/02 Golang