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日历程序
Dec 06 PHP
PHP 中关于ord($str)>0x80的详细说明
Sep 23 PHP
php二维数组排序详解
Nov 06 PHP
开源php中文分词系统SCWS安装和使用实例
Apr 11 PHP
PHP处理Json字符串解码返回NULL的解决方法
Sep 01 PHP
smarty模板引擎之配置文件数据和保留数据
Mar 30 PHP
php集成套件服务器xampp安装使用教程(适合第一次玩PHP的新手)
Jun 03 PHP
php结合curl实现多线程抓取
Jul 09 PHP
php生成二维码
Aug 10 PHP
PHP文件管理之实现网盘及压缩包的功能操作
Sep 20 PHP
详解cookie验证的php应用的一种SSO解决办法
Oct 20 PHP
CI(CodeIgniter)框架中URL特殊字符处理与SQL注入隐患分析
Feb 28 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
简单示例AJAX结合PHP代码实现登录效果代码
2008/07/25 PHP
从PHP $_SERVER相关参数判断是否支持Rewrite模块
2013/09/26 PHP
PHP PDOStatement:bindParam插入数据错误问题分析
2013/11/13 PHP
ThinkPHP3.1新特性之Action参数绑定
2014/06/19 PHP
PHP获取网站中各文章的第一张图片的代码示例
2016/05/20 PHP
在IE模态窗口中自由查看HTML源码的方法
2007/03/08 Javascript
jQuery的一些特性和用法整理小结
2010/01/13 Javascript
JavaScript中的一些定位属性[图解]
2010/07/14 Javascript
jquery实现的带缩略图的焦点图片切换(自动播放/响应鼠标动作)
2013/01/23 Javascript
原生javaScript做得动态表格(注释写的很清楚)
2013/12/29 Javascript
浅谈JavaScript字符集
2014/05/22 Javascript
window.print打印指定div指定网页指定区域的方法
2014/08/04 Javascript
JavaScript中的类数组对象介绍
2014/12/30 Javascript
详解AngularJS中的http拦截
2016/02/09 Javascript
JQuery Mobile实现导航栏和页脚
2016/03/09 Javascript
鼠标经过出现气泡框的简单实例
2017/03/17 Javascript
bootstrap可编辑下拉框jquery.editable-select
2017/10/12 jQuery
详解angular部署到iis出现404解决方案
2018/08/14 Javascript
微信小程序自定义带价格显示日历效果
2018/12/29 Javascript
[01:03:41]完美世界DOTA2联赛PWL S3 DLG vs Phoenix 第一场 12.17
2020/12/19 DOTA
[49:31]DOTA2-DPC中国联赛 正赛 Elephant vs LBZS BO3 第二场 1月29日
2021/03/11 DOTA
Python中捕捉详细异常信息的代码示例
2014/09/18 Python
python中字典dict常用操作方法实例总结
2015/04/04 Python
python黑魔法之编码转换
2016/01/25 Python
基于Python数据可视化利器Matplotlib,绘图入门篇,Pyplot详解
2017/10/13 Python
python通过txt文件批量安装依赖包的实现步骤
2019/08/13 Python
python能做什么 python的含义
2019/10/12 Python
韩国家庭购物网上商店:Nsmall
2017/05/07 全球购物
Mio Skincare英国官网:身体紧致及孕期身体护理
2018/08/19 全球购物
Pedro官网:新加坡时尚品牌
2019/08/27 全球购物
意大利折扣和优惠券网站:Groupalia
2019/10/09 全球购物
英国豪华家具和家居用品购物网站:Teddy Beau
2020/10/12 全球购物
作文批改评语大全
2014/04/23 职场文书
学生期末评语大全
2014/04/30 职场文书
2014企业年终工作总结
2014/12/23 职场文书
孝女彩金观后感
2015/06/10 职场文书