一个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蜘蛛统计插件只要有mysql就可用
Oct 12 PHP
PHP编程最快明白(第一讲 软件环境和准备工作)
Oct 25 PHP
php根据isbn书号查询amazon网站上的图书信息的示例
Feb 13 PHP
php计算程序运行时间的简单例子分享
May 10 PHP
PHP处理Oracle的CLOB实例
Nov 03 PHP
php简单实现MVC
Feb 05 PHP
PHP的Laravel框架中使用消息队列queue及异步队列的方法
Mar 21 PHP
thinkphp3.2实现上传图片的控制器方法
Apr 28 PHP
Yii的Srbac插件用法详解
Jul 14 PHP
zend框架实现支持sql server的操作方法
Dec 08 PHP
YII框架实现自定义第三方扩展操作示例
Apr 26 PHP
PHP中通过getopt解析GNU C风格命令行选项
Nov 18 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简单浏览目录内容的实现代码
2013/06/07 PHP
PHP实现网站访问量计数器
2017/10/27 PHP
Thinkphp5.0框架视图view的循环标签用法示例
2019/10/12 PHP
PHP开发api接口安全验证操作实例详解
2020/03/26 PHP
php实现统计IP数及在线人数的示例代码
2020/07/22 PHP
vue.js实现请求数据的方法示例
2017/02/07 Javascript
BootStrap 弹出层代码
2017/02/09 Javascript
ES6使用let命令更简单的实现块级作用域实例分析
2017/03/31 Javascript
利用Vue.js实现求职在线之职位查询功能
2017/07/03 Javascript
用vue封装插件并发布到npm的方法步骤
2017/10/18 Javascript
vue router 用户登陆功能的实例代码
2019/04/24 Javascript
vue安装遇到的5个报错及解决方法
2019/06/12 Javascript
解决vue中的无限循环问题
2020/07/27 Javascript
JS实现点击掉落特效
2021/01/29 Javascript
Python入门篇之列表和元组
2014/10/17 Python
Pycharm学习教程(1) 定制外观
2017/05/02 Python
Bottle框架中的装饰器类和描述符应用详解
2017/10/28 Python
Python 实现使用dict 创建二维数据、DataFrame
2018/04/13 Python
Python3随机漫步生成数据并绘制
2018/08/27 Python
Python中三元表达式的几种写法介绍
2019/03/04 Python
python3 实现函数写文件路径的正确方法
2019/11/27 Python
基于Python把网站域名解析成ip地址
2020/05/25 Python
手摸手教你用canvas实现给图片添加平铺水印的实现
2019/08/20 HTML / CSS
HTML5语义化元素你真的用对了吗
2019/08/22 HTML / CSS
美国第二大连锁药店:Rite Aid
2019/04/03 全球购物
Java程序员面试题
2013/07/15 面试题
师范毕业生求职自荐信
2013/09/25 职场文书
总务岗位职责
2013/11/19 职场文书
战友聚会邀请函
2014/01/18 职场文书
入党介绍人评语
2014/05/06 职场文书
2014年小学班主任工作总结
2014/11/08 职场文书
给老婆的检讨书1000字
2015/01/01 职场文书
费城故事观后感
2015/06/10 职场文书
外出听课学习心得体会
2016/01/15 职场文书
《妈妈别哭,有我在》读后感3篇
2020/01/13 职场文书
Redis基于Bitmap实现用户签到功能
2021/06/20 Redis