Heim >Backend-Entwicklung >PHP-Tutorial >PHP电商购物车(二:封装数据库操作类)

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

WBOY
WBOYOriginal
2016-07-28 08:28:021023Durchsuche

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

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

         

<?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=


 
 

   

以上就介绍了 PHP电商购物车(二:封装数据库操作类),包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn