Home  >  Article  >  Backend Development  >  PHP add, delete, modify, check package

PHP add, delete, modify, check package

Guanhui
GuanhuiOriginal
2020-05-09 15:33:063072browse

PHP add, delete, modify, check package

php add, delete, modify and check encapsulation

First create a class named "DB"; then in the constructor of the "DB" class Connect to the database; then write additions, deletions, modifications and queries based on the connection instance; finally instantiate the "DB" class and set it as a global variable.

Encapsulation code:

<?php
/**
 * 数据库配置信息
 */
define(&#39;DB_HOST&#39;,&#39;127.0.0.1&#39;);            //服务器
define(&#39;DB_USER&#39;,&#39;root&#39;);                 //数据库用户名
define(&#39;DB_PASSWORD&#39;,&#39;123456&#39;);           //数据库密码
define(&#39;DB_NAME&#39;,&#39;TEST&#39;);                 //默认数据库
define(&#39;DB_CHARSET&#39;,&#39;utf8&#39;);              //数据库字符集
define(&#39;TIMEZONE&#39;,"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 (&#39;数据库连接失败!错误原因:&#39;.mysql_error());

        mysql_select_db($db_name)or die(&#39;数据库选定失败!错误原因:&#39;.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",&#39;data&#39;=>$objList));
    }
    /**
     * @description 插入数据到数据库中
     * @param $tableName 表名
     * @param array $columns 包含表中所有字段名的数组。默认空数组,则是全部有序字段名
     * @param array $values  包含对应所有字段的属性值的数组
     * @return int
     */
    public function insertData($tableName,$columns=array(),$values=array())
    {
        $sql = &#39;insert into &#39;.$tableName .&#39;( &#39;;
        for($i = 0; $i < sizeof($columns);$i ++)
        {
            $sql .= $columns[$i];
            if($i < sizeof($columns) - 1)
            {
                $sql .= &#39;,&#39;;
            }
        }
        $sql .= &#39;) values ( &#39;;
        for($i = 0; $i < sizeof($values);$i ++)
        {
            $sql .= "&#39;".$values[$i]."&#39;";
            if($i < sizeof($values) - 1)
            {
                $sql .= &#39;,&#39;;
            }
        }
        $sql .= &#39; )&#39;;
        $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 = &#39;$atrValue&#39;");
        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 = &#39;$atrValue&#39;")) $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 = &#39;$value&#39; WHERE $atrName = &#39;$atrValue&#39; ")){  //$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;
    }

}

Recommended tutorial: "PHP Tutorial"

The above is the detailed content of PHP add, delete, modify, check package. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn