PHP的PDO操作简单示例


Posted in PHP onMarch 30, 2016

本文实例讲述了PHP的简单PDO操作。分享给大家供大家参考,具体如下:

网上关于PDO的资料很多。这里就不累赘了。

这里我将PDO所有操作封装到一个类里方便操作。

类代码如下:

class DB {
  //pdo对象
  public $con = NULL;
  function DB()
  {
    $this->con = new PDO("mysql:host=127.0.0.1;dbname=dbtest", "root", "xxx", array(
      PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES `utf8`',
      PDO::ATTR_PERSISTENT => TRUE,
    ));
    $this->con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $this->con->setAttribute(PDO::ATTR_CASE, PDO::CASE_UPPER);
  }
  public function query($sql, $para = NULL)
  {
    $sqlType = strtoupper(substr($sql, 0, 6));
    $cmd = $this->con->prepare($sql);
    if($para != NULL)
    {
      $cmd->execute($para);
    }
    else
    {
      $cmd->execute();
    }
    if($sqlType == "SELECT")
    {
      return $cmd->fetchAll(); 
    }
    if($sqlType == "INSERT")
    {
      return $this->con->lastInsertId();
    }
    return $cmd->rowCount();
  }
}

使用方法:

include "pdo.php";
$db = new DB();
$subjectList = $db->query("SELECT * FROM `table1`");
$count = $db->query("UPDATE `table1` SET `name` = 'test' WHERE `id` = :id", array(':id' => 795));
try
{
  echo $db->con->beginTransaction();
  $count = $db->con->exec("UPDATE `table1` SET `name` = 'test1' WHERE `id` = 795");
  $count = $db->con->exec("UPDATE `table1` SET `name1` = 'test22' WHERE `id` = 795");
  $count = $db->con->exec("UPDATE `table1` SET `name1` = 'test333' WHERE `id` = 795");
  echo $db->con->commit();
}
catch (Exception $e)
{
  // MYSQL 的表类型 InnoDB(支持事务) MyISAM(不支持事务)
  echo $db->con->rollBack();
  throw new MyException("事务测试错误", $e);
}
$db = NULL;

PDO支持SQL语句以参数方式调用,可有效的防止SQL注入。

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP 获取MSN好友列表的代码(2009-05-14测试通过)
Sep 09 PHP
PHP之COOKIE支持详解
Sep 20 PHP
php更新mysql后获取影响的行数发生异常解决方法
Mar 28 PHP
使用openssl实现rsa非对称加密算法示例
Jan 24 PHP
PHP获取时间排除周六、周日的两个方法
Jun 30 PHP
PHP中提问频率最高的11个面试题和答案
Sep 02 PHP
php根据用户语言跳转相应网页
Nov 04 PHP
详解WordPress开发中get_header()获取头部函数的用法
Jan 08 PHP
Thinkphp3.2.3整合phpqrcode生成带logo的二维码
Jul 21 PHP
简单的pgsql pdo php操作类实现代码
Aug 25 PHP
PHP实现的堆排序算法详解
Aug 17 PHP
php和nginx交互实例讲解
Sep 24 PHP
PHP Smarty模版简单使用方法
Mar 30 #PHP
PHP格式化MYSQL返回float类型的方法
Mar 30 #PHP
PHP获取网页所有连接的方法(附demo源码下载)
Mar 30 #PHP
PHP记录页面停留时间的方法
Mar 30 #PHP
phplist及phpmailer(组合使用)通过gmail发送邮件的配置方法
Mar 30 #PHP
PHP的邮件群发系统phplist配置方法详细总结
Mar 30 #PHP
Laravel路由设定和子路由设定实例分析
Mar 30 #PHP
You might like
jquery模拟按下回车实现代码
2011/09/20 Javascript
基于jquery的滚动鼠标放大缩小图片效果
2011/10/27 Javascript
JS读取cookies信息(记录用户名)
2012/01/10 Javascript
jquery链式操作的正确使用方法
2014/01/06 Javascript
JavaScript怎么判断图片是否加载完成以便获取其尺寸
2014/05/08 Javascript
window.setInterval()方法的定义和用法及offsetLeft与style.left的区别
2015/11/11 Javascript
JavaScript常用基础知识强化学习
2015/12/09 Javascript
JQuery validate插件验证用户注册信息
2016/05/11 Javascript
sencha ext js 6 快速入门(必看)
2016/06/01 Javascript
js创建数组的简单方法
2016/07/27 Javascript
Angular 2.0+ 的数据绑定的实现示例
2017/08/09 Javascript
vue文件运行的方法教学
2019/02/12 Javascript
微信小程序基于canvas渐变实现的彩虹效果示例
2019/05/03 Javascript
运用js实现图层拖拽的功能
2019/05/24 Javascript
微信小程序进入广告实现代码实例
2019/09/19 Javascript
Vue实现渲染数据后控制滚动条位置(推荐)
2019/12/09 Javascript
[01:07:41]IG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python实现抓取网页并且解析的实例
2014/09/20 Python
Python提示[Errno 32]Broken pipe导致线程crash错误解决方法
2014/11/19 Python
python中zip和unzip数据的方法
2015/05/27 Python
深入解析Python的Tornado框架中内置的模板引擎
2016/07/11 Python
python实现字典(dict)和字符串(string)的相互转换方法
2017/03/01 Python
python实现多人聊天室
2020/03/31 Python
django主动抛出403异常的方法详解
2019/01/04 Python
Python math库 ln(x)运算的实现及原理
2019/07/17 Python
PyTorch 普通卷积和空洞卷积实例
2020/01/07 Python
Pytorch在dataloader类中设置shuffle的随机数种子方式
2020/01/14 Python
浅谈anaconda python 版本对应关系
2020/10/07 Python
全面解析CSS Media媒体查询使用操作(推荐)
2017/08/15 HTML / CSS
Urban Outfitters英国官网:美国平价服饰品牌
2016/11/25 全球购物
请编写一个 C 函数,该函数在给定的内存区域搜索给定的字符,并返回该字符所在位置索引值
2014/09/15 面试题
金融事务专业毕业生求职信
2014/02/23 职场文书
公司合作意向书范文
2014/07/30 职场文书
PHP判断是否是json字符串
2021/04/01 PHP
Python源码解析之List
2021/05/21 Python
SpringDataJPA在Entity中常用的注解介绍
2021/12/06 Java/Android