PHP数据库操作类封装

PHP数据库操作类封装

新建一个config.php文件

<?php 
define('DB_HOST','127.0.0.1');            //服务器
define('DB_USER','root');                 //数据库用户名
define('DB_PASSWORD','root');                 //数据库密码
define('DB_NAME','test');                //默认数据库
define('DB_CHARSET','utf8');              //数据库字符集
define('TIMEZONE',"PRC");                 //时区设置


新建一个文件db.php

<?php
require_once("./config.php"); 
date_default_timezone_set(TIMEZONE);   函数设置用在脚本中所有日期/时间函数的默认时区。

class DB
{
    public $host;            //服务器
    public $username;        //数据库用户名
    public $password;        //数据密码
    public $dbname;          //数据库名
    public $conn;            //数据库连接变量

    public function __construct($host=DB_HOST ,$username=DB_USER,$password=DB_PASSWORD,$dbname=DB_NAME)
    {
        $this->host = $host;
        $this->username = $username;
        $this->password = $password;
        $this->dbname = $dbname;

    }

    /**
     * 打开数据库连接
     */
    public function open()
    {
        $this->conn = mysql_connect($this->host,$this->username,$this->password);
        mysql_select_db($this->dbname);
        mysql_query("SET CHARACTER SET utf8");
    }

    /**
     * 关闭数据连接
     */
    public function close()
    {
        mysql_close($this->conn);
    }

    /**
     * 通过sql语句获取数据
     * @return: array()
     */
    public function getObjListBySql($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;
    }

    /**
     * 向数据库表中插入数据
     * @param:$table,表名
     * @param:$columns,包含表中所有字段名的数组。默认空数组,则是全部有序字段名
     * @param:$values,包含对应所有字段的属性值的数组
     */
    public function insertData($table,$columns=array(),$values=array())
    {
        $sql = 'insert into '.$table .'( ';
        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);
        $id = mysql_insert_id($this->conn);
        $this->close();
        return $id;
    }

    /**
     * 通过表中的某一属性获取数据
     */
    public function getDataByAtr($tableName,$atrName,$atrValue){
        @$data = $this->getObjListBySql("SELECT * FROM ".$tableName." WHERE $atrName = '$atrValue'");
        if(count($data)!=0) {
            return $data;
        }
        return NULL; 
    }

    /**
     * 通过表中的"id",删除记录
     */
    public function delete($tableName,$atrName,$atrValue){
        $this->open();
        $deleteResult = false;
        if(mysql_query("DELETE FROM ".$tableName." WHERE $atrName = '$atrValue'")) {
            $deleteResult = true;
        }
        $this->close();
        if($deleteResult) {
            return true;
        }
        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;
        }
        $db->close();
        return false;
    }

    /* 
     * @description: 取得一个table的所有属性名
     * @param: $tbName 表名
     * @return:字符串数组
     */
    public function fieldName($tbName){
        $resultName=array();
        $i=0;
        $this->open();
        $result = mysql_query("SELECT * FROM $tbName");
        while ($property = mysql_fetch_field($result)){
            $resultName[$i++]=$property->name;
        }
        $this->close();
        return $resultName;
    }
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值