一个php Mysql类 可以参考学习熟悉下
2009-06-21 00:00
676 查看
<?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-Zend framework2 框架 学习过程。 阅前须知: ZF2中的配置文件是可以静态文件配置来注册和通过相关函数动态注册。 1.EventManager(事件驱动),关于事件驱动,在ZF2相关资料没有详细说明,可以参考ANDROID的事件驱动,MFC的消息响应/事件驱动。
- 给大家做了一个关于日程的例子,可以参考一下,对进一步学习有所帮助
- 学习Discuz! X3.2记录:一个小提示,可以知道插件php文件语法出问题了
- 一个完整的JENKINS下的ANT BUILD.XML文件(Jenkins可以参考)
- 这里有一些常用的学习视频的下载,有学习网络的朋友可以参考
- (纯转载)一个真正符合中国国情的工作流设计参考(包括PHP实现)
- PHP程序员进阶学习书籍参考指南
- StyleBank 学习小记:一个可以分离风格与内容的图像风格转换器
- 菜鸟学习abstract【一个类可以被继承但不能实例化,子类不需要重新定义属性】
- 供参考的 php 学习提高路线分享
- 一个Php菜鸟的TCP/IP协议学习总结(概述)
- 例题:三十人投票选班长。主要学习数组,数组也比较难学,作为一个参考题
- 一个比较不错的开源博客,可以参考一下,自己搭建
- 学习前端可以更多的参考
- 只有一个公网IP也可以使用LVS的DR模式!(外带php session粘滞问题解决)
- 只有一个公网IP也可以使用LVS的DR模式!(外带php session粘滞问题解决)
- 一个关于vector和string使用的一个程序,可以参考一下
- 一个学习PHP的笔记(编程过程都如此)
- PHP程序员进阶学习书籍参考指南