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 Mysql类 可以参考学习熟悉下
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@