|
慢慢研究吧,非常适合学习的php数据库(mysql)类,也可以拿来直接就用,稍微熟悉一下就可以啦!
复制代码 代码如下: <?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); } } ?>
|
|