>  기사  >  백엔드 개발  >  PHP 추가, 삭제, 수정, 패키지 확인

PHP 추가, 삭제, 수정, 패키지 확인

Guanhui
Guanhui원래의
2020-05-09 15:33:063163검색

PHP 추가, 삭제, 수정, 패키지 확인

php CRUD 캡슐화

먼저 "DB"라는 클래스를 생성한 다음 "DB" 클래스의 생성 방법으로 데이터베이스에 연결한 다음 마지막으로 연결 인스턴스를 기반으로 CRUD 작업을 작성합니다. "DB" 클래스를 생성하고 전역 변수로 설정합니다.

패키지 코드:

<?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;
    }

}

추천 튜토리얼: "PHP Tutorial"

위 내용은 PHP 추가, 삭제, 수정, 패키지 확인의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.