如题,最好有连接、查询、插入、修改、删除以及异常处理的数据库通用类,谢谢!

解决方案 »

  1.   

    下个开源的php系统,基本都是有的
      

  2.   

    <?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); 


    ?>
    详细出处参考:http://www.jb51.net/article/18712.htm