php增删改查封装方法

2021-03-10 03:29

阅读:698

标签:code   nec   lse   ble   col   类构造   _id   数据连接   有序   

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增删改查封装方法

标签:code   nec   lse   ble   col   类构造   _id   数据连接   有序   

原文地址:https://www.cnblogs.com/mo3408/p/12859858.html


评论


亲,登录后才可以留言!