热门IT资讯网

php增删改查封装源代码

发表于:2024-11-29 作者:热门IT资讯网编辑
编辑最后更新 2024年11月29日,这篇文章给大家分享的是php增删改查封装的运用过程,相信大部分人都还没学会这个技能,为了让大家更加了解,给大家总结了以下内容,话不多说,一起往下看吧。首先创建一个名为"DB"的类;然后在"DB"类的构

这篇文章给大家分享的是php增删改查封装的运用过程,相信大部分人都还没学会这个技能,为了让大家更加了解,给大家总结了以下内容,话不多说,一起往下看吧。

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

封装代码:

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增删改查封装的具体代码,如果在日常工作遇到这个问题,希望你能通过这篇文章解决问题。如果想了解更多相关内容,欢迎关注行业资讯频道!

0