一个php Mysql类 可以参考学习熟悉下


Posted in PHP onJune 21, 2009
<?php 
class Mysql 
{ 
private $conn; 
private $host; 
private $username; 
private $password; 
private $dbname; 
private $pconnect; 
private $charset; public function __construct(array $params = null) 
{ 
if (!empty($params)) { 
foreach ($params as $k => $v) { 
$this->$k = $v; 
} 
} 
} 
public function connect() 
{ 
$fun = $this->pconnect ? 'mysql_pconnect' : 'mysql_connect'; 
$this->conn = $fun($this->host, $this->username, $this->password); 
$this->conn && $this->query('set names ' . $this->charset); 
$this->conn && mysql_select_db($this->dbname, $this->conn); 
} 
public function getInstance() 
{ 
return $this->conn; 
} 
public function query($sql) 
{ 
return mysql_query($sql, $this->conn); 
} 
public function fetchOne($sql) 
{ 
$data = $this->fetchRow($sql); 
return $data[0]; 
} 
public function fetchCol($sql) 
{ 
$tmp = $this->fetchAll($sql, MYSQL_NUM); 
foreach ($tmp as $v) { 
$data[] = $v[0]; 
} 
} 
public function fetchRow($sql) 
{ 
$result = $this->query($sql); 
$data = mysql_fetch_row($result); 
mysql_free_result($result); 
return $data; 
} 
public function fetchAssoc($sql) 
{ 
$result = $this->query($sql); 
$data = mysql_fetch_assoc($result); 
mysql_free_result($result); 
return $data; 
} 
public function fetchAll($sql, $type = MYSQL_ASSOC) 
{ 
$result = $this->query($sql); 
while ($tmp = mysql_fetch_array($result, $type)) { 
$data[] = $tmp; 
} 
return $data; 
} 
public function fetchPairs($sql) 
{ 
$result = $this->query($sql); 
while ($tmp = mysql_fetch_row($result)) { 
$data[$tmp[0]] = $tmp[1]; 
} 
return $data; 
} 
public function insert($table, array $bind) 
{ 
$cols = array(); 
$vals = array(); 
foreach ($bind as $col => $val) { 
$cols[] = $col; 
$vals[] = $val; 
unset($bind[$col]); 
} 
$sql = "INSERT INTO " 
. $table 
. ' (`' . implode('`, `', $cols) . '`) ' 
. 'VALUES (\'' . implode('\', \'', $vals) . '\')'; 
$stmt = $this->query($sql, $this->conn); 
$result = $this->affectedRows(); 
return $result; 
} 
public function getLastInsertId() 
{ 
return mysql_insert_id($this->conn); 
} 
public function affectedRows() 
{ 
return mysql_affected_rows($this->conn); 
} 
public function update($table, array $bind, $where = '') 
{ 
$set = array(); 
foreach ($bind as $col => $val) { 
$set[] = '`' . $col . "` = '" . $val . "'"; 
} 
$sql = "UPDATE `" 
. $table 
. '` SET ' . implode(', ', $set) 
. (($where) ? " WHERE $where" : ''); 
$stmt = $this->query($sql, array_values($bind)); 
$result = $this->affectedRows(); 
return $result; 
} 
public function delete($table, $where = '') 
{ 
/** 
* Build the DELETE statement 
*/ 
$sql = "DELETE FROM " 
. $table 
. (($where) ? " WHERE $where" : ''); 
/** 
* Execute the statement and return the number of affected rows 
*/ 
$stmt = $this->query($sql); 
$result = $stmt ? mysql_affected_rows($this->conn) : $stmt; 
return $result; 
} 
public function close() 
{ 
$this->conn && mysql_close($this->conn); 
} 
} 
?>
PHP 相关文章推荐
PHP中的串行化变量和序列化对象
Sep 05 PHP
如何给phpadmin一个保护
Oct 09 PHP
php访问查询mysql数据的三种方法
Oct 09 PHP
php xml实例 留言本
Mar 20 PHP
ie6 动态缩略图不显示的原因
Jun 21 PHP
PHP以指定字段为索引返回数据库所取的数据数组
Jun 30 PHP
php防止sql注入示例分析和几种常见攻击正则表达式
Jan 12 PHP
PHP统计nginx访问日志中的搜索引擎抓取404链接页面路径
Jun 30 PHP
ThinkPHP表单自动提交验证实例教程
Jul 18 PHP
PHP输出日历表代码实例
Mar 27 PHP
php实现JWT(json web token)鉴权实例详解
Nov 05 PHP
php设计模式之备忘模式分析【星际争霸游戏案例】
Mar 24 PHP
discuz7 phpMysql操作类
Jun 21 #PHP
php 将bmp图片转为jpg等其他任意格式的图片
Jun 21 #PHP
ie6 动态缩略图不显示的原因
Jun 21 #PHP
PHP COOKIE设置为浏览器进程
Jun 21 #PHP
PHP 输出缓存详解
Jun 20 #PHP
php 图像函数大举例(非原创)
Jun 20 #PHP
PHP 类型转换函数intval
Jun 20 #PHP
You might like
《PHP边学边教》(02.Apache+PHP环境配置――上篇)
2006/12/13 PHP
PHPCMS的使用小结
2010/09/20 PHP
php用户注册信息验证正则表达式
2015/11/12 PHP
CI框架数据库查询之join用法分析
2016/05/18 PHP
php生成与读取excel文件
2016/10/14 PHP
php版微信返回用户text输入的方法
2016/11/14 PHP
php 截取中英文混合字符串的方法
2018/05/31 PHP
Laravel路由研究之domain解决多域名问题的方法示例
2019/04/04 PHP
JavaScript访问样式表代码
2010/10/15 Javascript
JQuery中$(document)是什么意思有什么作用
2014/07/21 Javascript
javascript常用函数(1)
2015/11/04 Javascript
JavaScript入门教程之引用类型
2016/05/04 Javascript
javascript css红色经典选项卡效果实现代码
2016/05/17 Javascript
使用jQuery Rotare实现微信大转盘抽奖功能
2016/06/20 Javascript
什么是Vue.js框架 为什么选择它?
2017/10/17 Javascript
通过fastclick源码分析彻底解决tap“点透”
2017/12/24 Javascript
vue 引入公共css文件的简单方法(推荐)
2018/01/20 Javascript
使用Ajax和Jquery配合数据库实现下拉框的二级联动的示例
2018/01/25 jQuery
在Mac下彻底卸载node和npm的方法
2018/05/16 Javascript
微信小程序scroll-view仿拼多多横向滑动滚动条
2020/04/21 Javascript
jQuery实现点击自身以外区域关闭弹出层功能完整示例【改进版】
2018/07/31 jQuery
vue加载完成后的回调函数方法
2018/09/07 Javascript
JavaScript onclick事件使用方法详解
2020/05/15 Javascript
[03:39]2015国际邀请赛主赛事首日精彩回顾
2015/08/05 DOTA
Python 实现中值滤波、均值滤波的方法
2019/01/09 Python
scrapy-redis的安装部署步骤讲解
2019/02/27 Python
Python matplotlib画图与中文设置操作实例分析
2019/04/23 Python
Python中将两个或多个list合成一个list的方法小结
2019/05/12 Python
python打开文件的方式有哪些
2020/06/29 Python
python实现企业微信定时发送文本消息的实例代码
2020/11/25 Python
HTML5新增属性data-*和js/jquery之间的交互及注意事项
2017/08/08 HTML / CSS
美国排名第一的葡萄酒俱乐部:Firstleaf Wine Club
2020/01/02 全球购物
管事部库房保管员岗位职责
2014/02/21 职场文书
会议主持词
2014/03/17 职场文书
2016见义勇为事迹材料汇总
2016/03/01 职场文书
mysql知识点整理
2021/04/05 MySQL