代码如下:
- <?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);
- }
- }
- ?>
复制代码
|