php中Mysql常用操作类收集
1 <?php 2 /* 3 * mysql数据库 DB类 4 * @package db 5 * @author yytcpt(无影) 6 * @version 2008-03-27 7 * @copyrigth http://www.d5s.cn/ 8 */ 9 class db { 10 var $connection_id = ""; 11 var $pconnect = 0; 12 var $shutdown_queries = array(); 13 var $queries = array(); 14 var $query_id = ""; 15 var $query_count = 0; 16 var $record_row = array(); 17 var $failed = 0; 18 var $halt = ""; 19 var $query_log = array(); 20 function connect($db_config){ 21 if ($this->pconnect){ 22 $this->connection_id = mysql_pconnect($db_config["hostname"], $db_config["username"], $db_config["password"]); 23 }else{ 24 $this->connection_id = mysql_connect($db_config["hostname"], $db_config["username"], $db_config["password"]); 25 } 26 if ( ! $this->connection_id ){ 27 $this->halt("Can not connect MySQL Server"); 28 } 29 if ( ! @mysql_select_db($db_config["database"], $this->connection_id) ){ 30 $this->halt("Can not connect MySQL Database"); 31 } 32 if ($db_config["charset"]) { 33 @mysql_unbuffered_query("SET NAMES '".$db_config["charset"]."'"); 34 } 35 return true; 36 } 37 //发送SQL 查询,并返回结果集 38 function query($query_id, $query_type='mysql_query'){ 39 $this->query_id = $query_type($query_id, $this->connection_id); 40 $this->queries[] = $query_id; 41 if (! $this->query_id ) { 42 $this->halt("查询失败:\n$query_id"); 43 } 44 $this->query_count++; 45 $this->query_log[] = $str; 46 return $this->query_id; 47 } 48 //发送SQL 查询,并不获取和缓存结果的行 49 function query_unbuffered($sql=""){ 50 return $this->query($sql, 'mysql_unbuffered_query'); 51 } 52 //从结果集中取得一行作为关联数组 53 function fetch_array($sql = ""){ 54 if ($sql == "") $sql = $this->query_id; 55 $this->record_row = @mysql_fetch_array($sql, MYSQL_ASSOC); 56 return $this->record_row; 57 } 58 function shutdown_query($query_id = ""){ 59 $this->shutdown_queries[] = $query_id; 60 } 61 //取得结果集中行的数目,仅对 INSERT,UPDATE 或者 DELETE 62 function affected_rows() { 63 return @mysql_affected_rows($this->connection_id); 64 } 65 //取得结果集中行的数目,仅对 SELECT 语句有效 66 function num_rows($query_id="") { 67 if ($query_id == "") $query_id = $this->query_id; 68 return @mysql_num_rows($query_id); 69 } 70 //返回上一个 MySQL 操作中的错误信息的数字编码 71 function get_errno(){ 72 $this->errno = @mysql_errno($this->connection_id); 73 return $this->errno; 74 } 75 //取得上一步 INSERT 操作产生的 ID 76 function insert_id(){ 77 return @mysql_insert_id($this->connection_id); 78 } 79 //得到查询次数 80 function query_count() { 81 return $this->query_count; 82 } 83 //释放结果内存 84 function free_result($query_id=""){ 85 if ($query_id == "") $query_id = $this->query_id; 86 @mysql_free_result($query_id); 87 } 88 //关闭 MySQL 连接 89 function close_db(){ 90 if ( $this->connection_id ) return @mysql_close( $this->connection_id ); 91 } 92 //列出 MySQL 数据库中的表 93 function get_table_names(){ 94 global $db_config; 95 $result = mysql_list_tables($db_config["database"]); 96 $num_tables = @mysql_numrows($result); 97 for ($i = 0; $i < $num_tables; $i++) { 98 $tables[] = mysql_tablename($result, $i); 99 }100 mysql_free_result($result);101 return $tables;102 }103 //从结果集中取得列信息并作为对象返回,取得所有字段104 function get_result_fields($query_id=""){105 if ($query_id == "") $query_id = $this->query_id;106 while ($field = mysql_fetch_field($query_id)) {107 $fields[] = $field;108 }109 return $fields;110 }111 //错误提示112 function halt($the_error=""){113 $message = $the_error."<br/>\r\n";114 $message.= $this->get_errno() . "<br/>\r\n";115 $sql = "INSERT INTO `db_error`(pagename, errstr, timer) VALUES('".$_SERVER["PHP_SELF"]."', '".addslashes($message)."', ".time().")";116 @mysql_unbuffered_query($sql);117 if (DEBUG==true){118 echo "<html><head><title>MySQL 数据库错误</title>";119 echo "<style type=\"text/css\"><!--.error { font: 11px tahoma, verdana, arial, sans-serif, simsun; }--></style></head>\r\n";120 echo "<body>\r\n";121 echo "<blockquote>\r\n";122 echo "<textarea class=\"error\" rows=\"15\" cols=\"100\" wrap=\"on\" >" . htmlspecialchars($message) . "</textarea>\r\n";123 echo "</blockquote>\r\n</body></html>";124 exit;125 }126 }127 function __destruct(){128 $this->shutdown_queries = array();129 $this->close_db();130 }131 function sql_select($tbname, $where="", $limit=0, $fields="*", $orderby="id", $sort="DESC"){132 $sql = "SELECT ".$fields." FROM `".$tbname."` ".($where?" WHERE ".$where:"")." ORDER BY ".$orderby." ".$sort.($limit ? " limit ".$limit:"");133 return $sql;134 }135 function sql_insert($tbname, $row){136 foreach ($row as $key=>$value) {137 $sqlfield .= $key.",";138 $sqlvalue .= "'".$value."',";139 }140 return "INSERT INTO `".$tbname."`(".substr($sqlfield, 0, -1).") VALUES (".substr($sqlvalue, 0, -1).")";141 }142 function sql_update($tbname, $row, $where){143 foreach ($row as $key=>$value) {144 $sqlud .= $key."= '".$value."',";145 }146 return "UPDATE `".$tbname."` SET ".substr($sqlud, 0, -1)." WHERE ".$where;147 }148 function sql_delete($tbname, $where){149 return "DELETE FROM `".$tbname."` WHERE ".$where;150 }151 //新增加一条记录152 function row_insert($tbname, $row){153 $sql = $this->sql_insert($tbname, $row);154 return $this->query_unbuffered($sql);155 }156 //更新指定记录157 function row_update($tbname, $row, $where){158 $sql = $this->sql_update($tbname, $row, $where);159 return $this->query_unbuffered($sql);160 }161 //删除满足条件的记录162 function row_delete($tbname, $where){163 $sql = $this->sql_delete($tbname, $where);164 return $this->query_unbuffered($sql);165 }166 /* 根据条件查询,返回所有记录167 * $tbname 表名, $where 查询条件, $limit 返回记录, $fields 返回字段168 */169 function row_select($tbname, $where="", $limit=0, $fields="*", $orderby="id", $sort="DESC"){170 $sql = $this->sql_select($tbname, $where, $limit, $fields, $orderby, $sort);171 return $this->row_query($sql);172 }173 //详细显示一条记录174 function row_select_one($tbname, $where, $fields="*", $orderby="id"){175 $sql = $this->sql_select($tbname, $where, 1, $fields, $orderby);176 return $this->row_query_one($sql);177 }178 function row_query($sql){179 $rs = $this->query($sql);180 $rs_num = $this->num_rows($rs);181 $rows = array();182 for($i=0; $i<$rs_num; $i++){183 $rows[] = $this->fetch_array($rs);184 }185 $this->free_result($rs);186 return $rows;187 }188 function row_query_one($sql){189 $rs = $this->query($sql);190 $row = $this->fetch_array($rs);191 $this->free_result($rs);192 return $row;193 }194 //计数统计195 function row_count($tbname, $where=""){196 $sql = "SELECT count(id) as row_sum FROM `".$tbname."` ".($where?" WHERE ".$where:"");197 $row = $this->row_query_one($sql);198 return $row["row_sum"];199 }200 }201 ?>
1 <?php 2 $db_config["hostname"] = "127.0.0.1"; //服务器地址 3 $db_config["username"] = "root"; //数据库用户名 4 $db_config["password"] = "root"; //数据库密码 5 $db_config["database"] = "wap_blueidea_com"; //数据库名称 6 $db_config["charset"] = "utf8"; 7 include('db.php'); 8 $db = new db(); 9 $db->connect($db_config);10 //例:查询表 table_name 中 cid=1的所有记录。11 $row = $db->row_select('table_name', 'cid=1');12 ?>
转载于:https://www.cnblogs.com/c3055/articles/2111911.html
php中Mysql常用操作类收集相关推荐
- CentOS中Mysql常用操作
安装mysql yum -y install mysql-server 修改mysql配置vi /etc/my.cnf 这里会有很多需要注意的配置项,后面会有专门的笔记 暂时修改一下编码(添加在密码下 ...
- Java中Cookie常用操作类(Spring中操作Cookie)
说明:Cookie下用Key取值没有快速的方法,只能便利循环去取. 技巧:置0则cookie会立即删除,设置-1,负值则会在关闭浏览器后删除.切记一定要增加路径:setPath("/&quo ...
- MySQL常用操作之创建存储过程语法详解
MySQL常用操作之创建存储过程语法详解 前言 简介 语法 创建结构 变量结构 入参变量和出参变量 流程控制 判断(IF 语句) 判断(CASE 语句) 循环(LOOP 语句) 循环(WHILE 语句 ...
- c winform mysql类_C#连接MySQL数据库操作类
首先需要安装MySQL Connector Net 6.8.3 然后在项目中引用MySQL Connector,如下图所示 C#连接MySQL的操作类代码如下:public class MySQLHe ...
- phpwind database.php,phpwind中的数据库操作类
phpwind中的数据库操作类 更新时间:2007年01月02日 00:00:00 作者: /*来源:phpwind.net*/ Class DB { var $query_num = 0; fu ...
- wp-db.php,WordPress中的数据库操作类wp-db.php
版权:转载 来源:互联网 WordPress中的数据库操作类wp-db.php的原型是ezSQL.官方网站: http://php.justinvincent.com ezSQL支持对如下数据库的操作 ...
- 推荐一个不到2MB的C#开发工具箱,集成了上千个常用操作类
今天给大家推荐一个C#开发工具箱,涵盖了所有常用操作类,体积小.功能强大. 项目简介 C# 开发工具箱.大都是静态类,加密解密,反射操作,权重随机筛选算法,分布式短id,表达式树,linq扩展,文件压 ...
- mysql 创建相同数据库_mysql数据库找出相同数据MySQL常用操作
一.MYSQL的命令行模式的设置:桌面->我的电脑->属性->环境变量->新建-> Path=";pathmysqlbin;"其中path为MySQL ...
- php mysql 数据库操作类_php mysql数据库操作类
分享一个本人一直在使用的一个mysql数据库操作类,比较初级,自己给别人做web网站的时候一直用的这个类,这个也是之前刚开始学习php的时候在网上找到的一个mysql数据库操作类,后来自己改了一些,比 ...
最新文章
- 015_CSS伪元素选择器
- acrgis api for javaScript需要对Dojo了解多少?
- C++继承详解三 ----菱形继承、虚继承
- python微信自动打卡_「微信辅助」吃鸡再也不怕了,Python用wxpy实现微信自动回复...
- 用java绘制一个光照球体_HTML5 Canvas一个基本光线行进的球体光照效果
- MUSIC算法原理以及详细推导
- LaTeX 页面大小和页边距
- 福禄克DSX2-8000——支持铜缆、光纤、OTDR测试的多功能网线测试仪
- SPSS学习笔记:神经网络
- Flink1.12 文档
- 通信 之 无线信道衰落
- C专家编程 模块化与有限机编写cdecl声明程序
- vant上传图片 转二进制_土旦:移动端 Vue+Vant 的Uploader 实现 :上传、压缩、旋转图片-Go语言中文社区...
- 三神器-迭代器、生成器和装饰器
- 1g等于多少mb计算机网络,1g能存多少首歌曲,1GB等于多少MB
- 【手游】梦幻西游手游 美术资源加密分析
- 嵌入式Linux应用开发学习(一)—嵌入式编程基本知识
- LeetCode-Python-1276. 不浪费原料的汉堡制作方案(鸡兔同笼 + 数学)
- 2016.2.10-2.24 中关村图书大厦实习--图书管理系统;
- PERT网络分析法(计划评估和审查技术,Program Evaluation and Review Technique)