一个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聊天室技术
Oct 09 PHP
PHP Session变量不能传送到下一页的解决方法
Nov 27 PHP
探讨PHP中this,self,parent的区别详解
Jun 08 PHP
session在php5.3中的变化 session_is_registered() is deprecated in
Nov 12 PHP
php压缩和解压缩字符串的方法
Mar 14 PHP
PHP中trim()函数简单使用指南
Apr 16 PHP
解决nginx不支持thinkphp中pathinfo的问题
Jul 21 PHP
PHP的邮件群发系统phplist配置方法详细总结
Mar 30 PHP
thinkPHP商城公告功能开发问题分析
Dec 01 PHP
Yii2.0实现的批量更新及批量插入功能示例
Jan 29 PHP
apache集成php7.3.5的详细步骤
Jun 20 PHP
解决laravel上传图片之后,目录有图片,但是访问不到(404)的问题
Oct 14 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
全国FM电台频率大全 - 1 北京市
2020/03/11 无线电
两级联动select刷新后其值保持不变的实现方法
2014/01/27 PHP
php sybase_fetch_array使用方法
2014/04/15 PHP
php+curl 发送图片处理代码分享
2015/07/09 PHP
PHP正则删除HTML代码中宽高样式的方法
2017/06/12 PHP
php+redis消息队列实现抢购功能
2018/02/08 PHP
ExtJs Excel导出并下载IIS服务器端遇到的问题
2011/09/16 Javascript
jquery多行滚动/向左或向上滚动/响应鼠标实现思路及代码
2013/01/23 Javascript
JS中的log对象获取以及debug的写法介绍
2014/03/03 Javascript
用box固定长宽实现图片自动轮播js代码
2014/06/09 Javascript
比较常见的javascript中定义函数的区别
2015/11/09 Javascript
JS实现队列与堆栈的方法
2016/04/21 Javascript
JS弹出窗口的运用与技巧大全
2016/11/01 Javascript
String字符串截取的四种方式总结
2016/11/28 Javascript
详解AngularJS通过ocLazyLoad实现动态(懒)加载模块和依赖
2017/03/01 Javascript
使用AngularJS编写多选按钮选中时触发指定方法的指令代码详解
2017/07/24 Javascript
javascript trie前缀树的示例
2018/01/29 Javascript
详解Webpack-dev-server的proxy用法
2018/09/08 Javascript
微信小程序tabBar设置实例解析
2019/11/14 Javascript
Python合并两个字典的常用方法与效率比较
2015/06/17 Python
Python递归函数定义与用法示例
2017/06/02 Python
python 编码规范整理
2018/05/05 Python
python把数组中的数字每行打印3个并保存在文档中的方法
2018/07/17 Python
如何使用Python进行OCR识别图片中的文字
2019/04/01 Python
使用python 对验证码图片进行降噪处理
2019/12/18 Python
python实现IOU计算案例
2020/04/12 Python
eHarmony英国:全球领先的认真恋爱约会平台之一
2020/11/16 全球购物
教师队伍管理制度
2014/01/14 职场文书
消防安全员岗位职责
2014/03/10 职场文书
总经理秘书岗位职责
2014/03/17 职场文书
中学教师暑期培训方案
2014/08/27 职场文书
2014乡镇干部纪律作风整顿思想汇报
2014/09/13 职场文书
教师四风自我剖析材料
2014/09/30 职场文书
2015年法院工作总结范文
2015/04/28 职场文书
《卧薪尝胆》读后感3篇
2019/12/26 职场文书
react中props 的使用及进行限制的方法
2021/04/28 Javascript