一个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);

  }

  }

  ?>