连接数据库的类(自己写的)

<?php
class DB{
    private $dbhost;
    private $dbUser;
    private $dbPassword;
    private $dbName;
    private $link;
    function __construct($h,$u,$p,$dn){
        $this->dbhost = $h;
        $this->dbUser = $u;
        $this->dbPassword = $p;
        $this->dbName = $dn;
        $this->link = mysql_connect($this->dbhost,$this->dbUser,$this->dbPassword);
        mysql_query("set names utf8");
        mysql_select_db($this->dbName,$this->link);
        //连接数据库
    }
    function query($sql){
        return mysql_query($sql);//执行sql语句
    }
    function affectedRows(){
        $result = mysql_affected_rows();
        return $result;//返回前一次 sql 受影响的行数。
    }
    function numRows($sql){
        $result = $this->query($sql);
        return mysql_num_rows($result);
    }
    function fetchOne($sql){// 取得 一条记录的方法: mysql_fetch_assoc($result) // 一维数组
        $result = $this->query($sql);
        $row = mysql_fetch_assoc($result);
        return $row;
    }
    function fetchAll($sql){
        $result = $this->query($sql);
        while ($row = mysql_fetch_assoc($result)){
            $rows[] = $row;
        }
        return $rows;
    }
    function selectOne($table,$column,$where="",$group="",$limit=""){
        $sql = "select {$column} from {$table} {$where} {$group} {$limit}";
        #echo $sql;
        $rs = $this->fetchOne($sql);//取一条数据,为一位数组
        #print_r($rs);
        return $rs;
    }
    function select($table,$column,$where="",$group="",$limit=""){
        $sql = "select {$column} from {$table} {$where} {$group} {$limit}";
        #echo $sql;
        $result = $this->query($sql);
        #var_dump($result);
        if(is_resource($result)){
            $arr = array();
            while($rs = mysql_fetch_array($result)){
                $arr[] = $rs;
            }
            return $arr;
            #var_dump($arr);
        }else{
            return false;
        }
    }
function selectCount($cloumn,$table,$left="",$rightTable="",$Id="",$groupBy="",$limit="",$orderBy=""){
        if($left != ""){
            $str = "as n {$left} join";
        }
        if($rightTable != ""){
            $str1 = "{$rightTable} as m";
        }
        if($Id != ""){
            $str2 = "on n.{$Id}=m.{$Id}";
        }
        if($groupBy != ""){
            $str3 = "group by {$groupBy}";
        }
        if($limit != ""){
            $str4 = "limit {$limit}";
        }
        if($orderBy != ""){
            $str5 = "order by {$orderBy} desc";
        }
        $sql = "select {$cloumn} from {$table} {$str} {$str1} {$str2} {$str3} {$str4} {$str5}";
        $count = $this->db->numRows($sql);
        return $count;//返回为首影响的行数
    }
    function insert($table,$bind){
        $keys = null;
        $vals = null;
        foreach ($bind as $key => $val){
            $keys .= $keys == null?$key:','.$key;
            $vals .= $vals == null?" ' ".$val." ' ":", ' ".$val." ' ";
        }
        $sql = "insert {$table} ({$keys}) values ({$vals})";
        //echo $sql;
        $result = $this->query($sql);
        return $result;
    }
    function update($table,$bind,$where=null){
        $set = null;
        foreach ($bind as $key => $val){
            $set .= $set == null?$key."= '$val' ":','.$key."='$val' ";
        }
        $sql = "update {$table} set {$set} ".($where==null?$where=null:'where '.$where);
        #echo $sql;
        $result = $this->query($sql);
        return $result;
    }
    function delete($table,$where){
        $sql = "delete from {$table} ".($where == null?$where=null:'where '.$where);
        #echo $sql;
        $result = $this->query($sql);
        return $result;
    }
    function getLastInsertId(){
        return mysql_insert_id();//最后受影响的id
    }
    function __destruct(){//资源回收
        $this->dbhost = null;
        $this->dbUser = null;
        $this->dbPassword = null;
        $this->dbName = null;
        $this->link = null;
    }
}
$dbhost = "localhost";
$dbUser = "root";
$dbPassword = "tarena";
$dbName = "think_build";
$db = new DB($dbhost,$dbUser,$dbPassword,$dbName);

/*$host1 = "localhost";
$user1 = "root";
$pwd1 = "tarena";
$dbName1 = "thinkbuild";
$db1 = new DB($host1, $user1, $pwd1, $dbName1);*/

?>


你可能感兴趣的:(连接数据库的类(自己写的))