七叶笔记 » PHP编程 » php增删改查封装

php增删改查封装

php增删改查封装

首先创建一个名为“DB”的类;然后在“DB”类的构造方法中去连接数据库;再根据连接实例进行编写增删改查操作;最后将“DB”类进行实例化并设置为全局变量即可。

封装代码:

<?php/** * 数据库配置信息 */define('DB_HOST','127.0.0.1');            //服务器define('DB_USER','root');                 //数据库用户名define('DB_PASSWORD','123456');           //数据库密码define('DB_NAME','TEST');                 //默认数据库define('DB_CHARSET','utf8');              //数据库字符集define('TIMEZONE',"PRC");                 //时区设置date_default_timezone_set(TIMEZONE);/** * 类名:DB * 说明:数据库操作类 */class DB{    public $host;            //服务器    public $conn;            //数据库连接变量    /**     * DB类构造函数     */    public function DB($host=DB_HOST ,$username=DB_USER,$password=DB_PASSWORD,$db_name=DB_NAME)    {        $this->host = $host;        $this->username = $username;        $this->password = $password;        $this->db_name = $db_name;       $this->conn = mysql_connect($host,$username,$password) or die ('数据库连接失败!错误原因:'.mysql_error());        mysql_select_db($db_name)or die('数据库选定失败!错误原因:'.mysql_error());                mysql_query("SET CHARACTER SET utf8");    }    /**     * 关闭数据连接     */    public function close()    {        mysql_close($this->conn);    }    /**     * @description调用方法用     * @param $sql     * @return array     */    public function QueryAll($sql)    {        $this->open();        $rs = mysql_query($sql,$this->conn);        $objList = array();        while($obj = mysql_fetch_object($rs))        {            if($obj)            {                $objList[] = $obj;            }        }        $this->close();        return $objList;    }    /**     * description查询全部返回Json格式,通讯用     * @param $sql     * @return string     */    public function QueryAllJson($sql)    {        echo $sql;        $this->open();        $rs = mysql_query($sql,$this->conn);        $objList = array();        $i=0;        while($obj = mysql_fetch_object($rs))        {            $objList[$i]=$obj;            $i++;        }        $this->close();        return json_encode(array("result"=>"success",'data'=>$objList));    }    /**     * @description 插入数据到数据库中     * @param $tableName 表名     * @param array $columns 包含表中所有字段名的数组。默认空数组,则是全部有序字段名     * @param array $values  包含对应所有字段的属性值的数组     * @return int     */    public function insertData($tableName,$columns=array(),$values=array())    {        $sql = 'insert into '.$tableName .'( ';        for($i = 0; $i < sizeof($columns);$i ++)        {            $sql .= $columns[$i];            if($i < sizeof($columns) - 1)            {                $sql .= ',';            }        }        $sql .= ') values ( ';        for($i = 0; $i < sizeof($values);$i ++)        {            $sql .= "'".$values[$i]."'";            if($i < sizeof($values) - 1)            {                $sql .= ',';            }        }        $sql .= ' )';        $this->open();        mysql_query($sql,$this->conn);        return true;//      $id = mysql_insert_id($this->conn);//取得上一步操作产生的ID(2)//      $this->close();(2)//      return $id;//(2)    }    /**     * 通过表中的某一属性获取数据     */    public function getDataByAtr($tableName,$atrName,$atrValue){        @$data = $this->QueryAll("SELECT * FROM ".$tableName." WHERE $atrName = '$atrValue'");        if(count($data)!=0)return $data;        return NULL;    }    /**     * description_     * 通过表中的"id",删除记录     */    public function delete($tableName,$atrName,$atrValue){        echo $tableName;        $this->open();        $deleteResult = false;        if(mysql_query("DELETE FROM ".$tableName." WHERE $atrName = '$atrValue'")) $deleteResult = true;        $this->close();        if($deleteResult) return true;        else return false;    }    /**     * 更新表中的属性值     */    public function updateParamById($tableName,$atrName,$atrValue,$key,$value){        $db = new DB();        $db->open();        if(mysql_query("UPDATE ".$tableName." SET $key = '$value' WHERE $atrName = '$atrValue' ")){  //$key不要单引号            $db->close();            return true;        }        else{            $db->close();            return false;        }    }    /*     * @description: 取得一个table的所有属性名     * @param: $tbName 表名     * @return:字符串数组     */    public function fieldName($tableName){        $resultName=array();        $i=0;        $this->open();        $result = mysql_query("SELECT * FROM ".$tableName);        while ($property = mysql_fetch_field($result)){            $resultName[$i++]=$property->name;        }        $this->close();        return $resultName;    }}

推荐教程:《PHP教程》

以上就是php增删改查封装的详细内容,更多请关注求知技术网其它相关文章!

相关文章