一个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+DBM的同学录程序(2)
Oct 09 PHP
简单实用的.net DataTable导出Execl
Oct 28 PHP
PHP中获取时间的下一周下个月的方法
Mar 18 PHP
php的curl封装类用法实例
Nov 07 PHP
js代码实现微博导航栏
Jul 30 PHP
PHP实现根据时间戳获取周几的方法
Feb 26 PHP
php构造方法中析构方法在继承中的表现
Apr 12 PHP
PHP实现类似于C语言的文件读取及解析功能
Sep 01 PHP
PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
Nov 17 PHP
php json转换相关知识(小结)
Dec 21 PHP
php实现简易计算器
Aug 28 PHP
PHP ob缓存以及ob函数原理实例解析
Nov 13 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如何透过ODBC来存取数据库
2006/10/09 PHP
PHP 巧用数组降低程序的时间复杂度
2010/01/01 PHP
PHP采集腾讯微博的实现代码
2012/01/19 PHP
浅析虚拟主机服务器php fsockopen函数被禁用的解决办法
2013/08/07 PHP
浅谈Javascript事件处理程序的几种方式
2012/06/27 Javascript
js克隆对象、数组的常用方法介绍
2013/09/26 Javascript
JavaScript操作XML文件之XML读取方法
2015/06/09 Javascript
javascript实现一个简单的弹出窗
2016/02/22 Javascript
Node.js操作mysql数据库增删改查
2016/03/30 Javascript
jQuery使用each方法与for语句遍历数组示例
2016/06/16 Javascript
浅谈json取值(对象和数组)
2016/06/24 Javascript
轻松搞定js表单验证
2016/10/13 Javascript
JavaScript实现图片轮播组件代码示例
2016/11/22 Javascript
XMLHttpRequest对象_Ajax异步请求重点(推荐)
2017/09/28 Javascript
vue实现单一筛选、删除筛选条件
2020/10/26 Javascript
[00:44]TI7不朽珍藏III——军团指挥官不朽展示
2017/07/15 DOTA
python 输出一个两行字符的变量
2009/02/05 Python
python使用点操作符访问字典(dict)数据的方法
2015/03/16 Python
python基础教程项目五之虚拟茶话会
2018/04/02 Python
Python中数组,列表:冒号的灵活用法介绍(np数组,列表倒序)
2018/04/18 Python
Python多线程编程之多线程加锁操作示例
2018/09/06 Python
Python实现 版本号对比功能的实例代码
2019/04/18 Python
python 弹窗提示警告框MessageBox的实例
2019/06/18 Python
Python Collatz序列实现过程解析
2019/10/12 Python
Python 生成器,迭代,yield关键字,send()传参给yield语句操作示例
2019/10/12 Python
Python collections中的双向队列deque简单介绍详解
2019/11/04 Python
wxpython实现按钮切换界面的方法
2019/11/19 Python
Python Opencv中用compareHist函数进行直方图比较对比图片
2020/04/07 Python
python实现图书馆抢座(自动预约)功能的示例代码
2020/09/29 Python
装修五一活动策划案
2014/01/23 职场文书
《两个铁球同时着地》教学反思
2014/02/13 职场文书
小学课外活动总结
2014/07/09 职场文书
英文邀请函
2015/02/02 职场文书
老人节主持词
2015/07/04 职场文书
win10+anaconda安装yolov5的方法及问题解决方案
2021/04/29 Python
logback 实现给变量指定默认值
2021/08/30 Java/Android