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高手?学会“懒惰”的编程
Dec 05 PHP
dedecms防止FCK乱格式化你的代码的修改方法
Mar 17 PHP
PHP数组内存耗用太多问题的解决方法
Apr 05 PHP
采用memcache在web集群中实现session的同步会话
Jul 05 PHP
PHP的魔术常量__METHOD__简介
Jul 08 PHP
apache和PHP如何整合在一起
Oct 12 PHP
超详细的php用户注册页面填写信息完整实例(附源码)
Nov 17 PHP
php输出含有“#”字符串的方法
Jan 18 PHP
php base64 编码与解码实例代码
Mar 21 PHP
thinkPHP5框架自定义验证器实现方法分析
Jun 11 PHP
PHP封装类似thinkphp连贯操作数据库Db类与简单应用示例
May 08 PHP
php使用filter_var函数判断邮箱,url,ip格式示例
Jul 06 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代码的53条建议
2008/03/27 PHP
php adodb操作mysql数据库
2009/03/19 PHP
php中的三元运算符使用说明
2011/07/03 PHP
如何让thinkphp在模型中自动完成session赋值小教程
2014/09/05 PHP
php实现批量修改文件名称的方法
2016/07/23 PHP
PHP中创建和编辑Excel表格的方法
2018/09/13 PHP
Laravel框架运行出错提示RuntimeException No application encryption key has been specified.解决方法
2019/04/02 PHP
jQuery第三课 修改元素属性及内容的代码
2010/03/14 Javascript
关于flash遮盖div浮动层的解决方法
2010/07/17 Javascript
基于jquery创建的一个图片、视频缓冲的效果样式插件
2012/08/28 Javascript
自动设置iframe大小的jQuery代码
2013/09/11 Javascript
使用jquery动态加载js文件的方法
2014/12/24 Javascript
Bootstrap Fileinput文件上传组件用法详解
2016/05/10 Javascript
indexedDB bootstrap angularjs之 MVC DOMO (应用示例)
2016/06/20 Javascript
浅谈vuepress 踩坑记
2018/04/18 Javascript
Vue 与 Vuex 的第一次接触遇到的坑
2018/08/16 Javascript
python通过定义一个类实例作为ftp回调方法
2015/05/04 Python
基于python 二维数组及画图的实例详解
2018/04/03 Python
python3+PyQt5使用数据库表视图
2018/04/24 Python
对Pandas MultiIndex(多重索引)详解
2018/11/16 Python
python实现三次样条插值
2018/12/17 Python
Python分支语句与循环语句应用实例分析
2019/05/07 Python
Python项目 基于Scapy实现SYN泛洪攻击的方法
2019/07/23 Python
Python如何访问字符串中的值
2020/02/09 Python
Keras中 ImageDataGenerator函数的参数用法
2020/07/03 Python
Python基于正则表达式实现计算器功能
2020/07/13 Python
Python eval函数原理及用法解析
2020/11/14 Python
OpenCV+python实现膨胀和腐蚀的示例
2020/12/21 Python
Python爬虫之Selenium库的使用方法
2021/01/03 Python
党支部书记岗位责任制
2014/02/11 职场文书
初三新学期计划书
2014/05/03 职场文书
小学班主任评语
2014/12/29 职场文书
药店收银员岗位职责
2015/04/07 职场文书
教学工作总结范文5篇
2019/08/19 职场文书
vue使用节流函数的踩坑实例指南
2021/05/20 Vue.js
【海涛教你打DOTA】死灵飞龙第一视角解说
2022/04/01 DOTA