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 相关文章推荐
完美解决令人抓狂的zend studio 7代码提示(content Assist)速度慢的问题
Jun 20 PHP
提高PHP性能的编码技巧以及性能优化详细解析
Aug 24 PHP
php中操作memcached缓存进行增删改查数据的实现代码
Aug 15 PHP
destoon实现会员商铺中指定会员或会员组投放广告的方法
Aug 21 PHP
php上传文件常见问题总结
Feb 03 PHP
phplist及phpmailer(组合使用)通过gmail发送邮件的配置方法
Mar 30 PHP
PHP实现通过URL提取根域名
Mar 31 PHP
PHP使用第三方即时获取物流动态实例详解
Apr 27 PHP
php-msf源码详解
Dec 25 PHP
php合并数组并保留键值的实现方法
Mar 12 PHP
thinkPHP和onethink微信支付插件分享
Aug 11 PHP
PHP开发api接口安全验证操作实例详解
Mar 26 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
PHP生成不重复随机数的方法汇总
2014/11/19 PHP
JavaScript 高效运行代码分析
2010/03/18 Javascript
input 和 textarea 输入框最大文字限制的jquery插件
2011/10/27 Javascript
jquery 新建的元素事件绑定问题解决方案
2014/06/12 Javascript
jQuery常用且重要方法汇总
2015/07/13 Javascript
jQuery实现动态添加和删除一个div
2015/08/12 Javascript
vue多级多选菜单组件开发
2020/09/08 Javascript
JAVA Web实时消息后台服务器推送技术---GoEasy
2016/11/04 Javascript
JavaScript编程设计模式之观察者模式(Observer Pattern)实例详解
2017/10/25 Javascript
webstorm中vue语法的支持详解
2018/05/09 Javascript
JavaScript设计模式之原型模式分析【ES5与ES6】
2018/07/26 Javascript
详解基于node.js的脚手架工具开发经历
2019/01/28 Javascript
关于vue利用postcss-pxtorem进行移动端适配的问题
2019/11/20 Javascript
在微信小程序中渲染HTML内容3种解决方案及分析与问题解决
2020/01/12 Javascript
vue实现下拉菜单树
2020/10/22 Javascript
[00:17]天涯墨客一技能展示
2018/08/25 DOTA
[01:04:08]完美世界DOTA2联赛PWL S3 INK ICE vs GXR 第一场 12.16
2020/12/18 DOTA
[03:00]DOTA2-DPC中国联赛1月18日Recap集锦
2021/03/11 DOTA
python如何将图片转换为字符图片
2020/08/19 Python
Python 统计字数的思路详解
2018/05/08 Python
基于Python开发chrome插件的方法分析
2018/07/07 Python
Python3对称加密算法AES、DES3实例详解
2018/12/06 Python
检测python爬虫时是否代理ip伪装成功的方法
2019/07/12 Python
手把手教你Python yLab的绘制折线图的画法
2019/10/23 Python
canvas 实现 github404动态效果的示例代码
2017/11/15 HTML / CSS
科颜氏加拿大官方网站: Kiehl’s加拿大
2016/08/16 全球购物
美国在线打印网站:Overnight Prints
2018/10/11 全球购物
C/C++程序员常见面试题二
2015/11/19 面试题
高二美术教学反思
2014/01/14 职场文书
英文自荐信常用句子
2014/03/26 职场文书
学生检讨书范文
2015/01/27 职场文书
男方婚前保证书
2015/02/28 职场文书
给原生html中添加水印遮罩层的实现示例
2021/04/02 Javascript
PHP使用非对称加密算法RSA
2021/04/21 PHP
python 下划线的多种应用场景总结
2021/05/12 Python
postman中form-data、x-www-form-urlencoded、raw、binary的区别介绍
2022/01/18 HTML / CSS