PHP电商购物车(二:封装数据库操作类)

来源:互联网 发布:pe远程控制软件 编辑:程序博客网 时间:2024/04/29 14:58

                                                                  PHP电商购物车———封装数据库操作类

        建立了数据库后,我们还是封装一个数据库的操作类吧(参考自付老师写的那个Mypdo,本文后再附加一篇PDO总结在学习总结模块)。

         

</pre><pre class="php" name="code"><?php/** * 自己封装的Pdo操作类 * User: hangfu * Date: 2016-6-24 * Time: 16:36 * version: 1.0.0.1 */class MyPdo{    /**     * @var Pdo  私有的PDO对象     */    private $pdo;    /**     * 构造方法,用于初始化PDO对象     */    public function __construct(){
        if(file_exists(_DIR_.'db.ini')){                          $ini = parse_ini_file('db.ini');            $dsn = $ini['db'].":host=".$ini['host'].";dbname=".$ini['dbname'].";port=".$ini['host']                .";charset=".$ini['charset'];        }else{            die('配置文件不存在....');        }        $this->pdo = new PDO($dsn, $ini['username'], $ini['userpwd']);    }    /**     * 析构方法,用于销毁时同时销毁PDO对象     */    public function __destruct(){        if($this->pdo)            $this->pdo = null;    }    /**     * 接收SQL(DML)语句并执行返回受影响的行数     * @param $sql 传入的sql语句字符串     */    public function pdoExec($sql){        return $this->pdo->exec($sql);    }    /**     * 接收SQL(DQL)语句,该语句不带参数,执行并返回查询结果,返回的值为二维数组;如果没有结果,返回null     * @param $sql 传入的sql语句字符串     */    public function pdoQuery($sql){        $data = $this->pdo->query($sql);        if($data){            return $data->fetchAll(PDO::FETCH_NUM);        }else{            return null;        }    }    /**     * 接收SQL(DQL)语句,该语句不带参数,执行并返回查询结果,返回的值为二维数组;如果没有结果,返回null     * @param $sql 传入的sql语句字符串     * @param $objname 传入的对象名称,字符串格式     */    public function pdoQueryByObj($sql, $objname){        $data = $this->pdo->query($sql);        if($data){            $datalist = array();            while($info=$data->fetchObject($objname)){                array_push($datalist, $info);            }            return $datalist;        }else{            return null;        }    }    /**     * 接收SQL(DQL)语句,该语句带参数,执行并返回查询结果,返回的值为二维数组;如果没有结果,返回null     * @param $sql 传入的sql语句字符串     * @param $arr 传入的参数值,数组格式     */    public function pdoPrepare($sql, $arr){        $data = $this->pdo->prepare($sql);        $bl = $data->execute($arr);        if($bl){            return $data->fetchAll(PDO::FETCH_NUM);        }else{            return null;        }    }    /**     * 接收SQL(DQL)语句,该语句不带参数,执行并返回查询结果,返回的值为二维数组;如果没有结果,返回null     * @param $sql 传入的sql语句字符串     * @param $objname 传入的对象名称,字符串格式     * @param $arr 传入的参数值,数组格式     */    public function pdoPrepareByObj($sql, $objname, $arr){        $data = $this->pdo->prepare($sql);        $bl = $data->execute($arr);        if($bl){            $datalist = array();            while($info=$data->fetchObject($objname)){                array_push($datalist, $info);            }            return $datalist;        }else{            return null;        }    }} 
   配置文件(和当前类文件在同一目录文件下)
###数据库类型db=mysql###数据库名称dbname=phpwork###服务器地址或名称host=localhost###数据库字符集charset=utf8###数据库端口号port=3306###操作的用户名username=xuzhengyang###操作的用户密码userpwd=

 
 

   

1 0