PHP电商购物车(二:封装数据库操作类)
2016-07-04 21:32
531 查看
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(){
建立了数据库后,我们还是封装一个数据库的操作类吧(参考自付老师写的那个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=
相关文章推荐
- 一个关于if else容易迷惑的问题
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- 深入理解PHP之匿名函数
- JSP/PHP基于Ajax的分页功能实现
- 关于PHP通过PDO用中文条件查询MySQL的问题。
- 什么是设计模式
- PHP数据库长连接mysql_pconnect的细节
- Php Installing An Expansion
- rem : web app适配的秘密武器
- jquery高级应用之Deferred对象
- 关于浮动与清除浮动,你应该知道的
- php7 读取php.ini[4]
- PHP+Apache在Windows 9x下的安装和配置
- IIS 6 的 PHP 最佳配置方法
- 安装Apache和PHP的一些补充
- Linux Apache+MySQL+PHP
- 建立Apache+PHP+MySQL数据库驱动的动态网站