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 生成WML页面方法详解
Aug 09 PHP
php数组函数序列之asort() - 对数组的元素值进行升序排序,保持索引关系
Nov 02 PHP
php通过隐藏表单控件获取到前两个页面的url
Sep 09 PHP
smarty中js的调用方法示例
Oct 27 PHP
深入解析PHP的Yii框架中的缓存功能
Mar 29 PHP
PHP下的浮点运算不准的解决方法
Oct 27 PHP
PHP数据的提交与过滤基本操作实例详解
Nov 11 PHP
thinkphp的dump函数无输出实例代码
Nov 15 PHP
利用PHP获取网站访客的所在地位置
Jan 18 PHP
php实现基于pdo的事务处理方法示例
Jul 21 PHP
php数组和链表的区别总结
Sep 20 PHP
PHP使用Redis队列执行定时任务实例讲解
Mar 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
用来给图片加水印的PHP类
2008/04/09 PHP
PHP模板引擎smarty详细介绍
2015/05/26 PHP
Zend Framework框架教程之Zend_Db_Table_Rowset用法实例分析
2016/03/21 PHP
Laravel如何自定义command命令浅析
2019/03/23 PHP
javascript 页面划词搜索JS
2009/09/28 Javascript
jQuery Lightbox 图片展示插件使用说明
2010/04/25 Javascript
基于jQuery的简单的列表导航菜单
2011/03/02 Javascript
JS判断、校验MAC地址的2个实例
2014/05/05 Javascript
Javascript实现Web颜色值转换
2015/02/05 Javascript
js实现简单折叠、展开菜单的方法
2015/08/28 Javascript
JavaScript为事件句柄绑定监听函数实例详解
2015/12/15 Javascript
javascript多物体运动实现方法分析
2016/01/08 Javascript
个人网站留言页面(前端jQuery编写、后台php读写MySQL)
2016/05/03 Javascript
jQuery EasyUI框架中的Datagrid数据表格组件结构详解
2016/06/09 Javascript
详解jQuery lazyload 懒加载
2016/12/19 Javascript
jQuery实现CheckBox全选、全不选功能
2017/01/11 Javascript
javascript笔记之匿名函数和闭包
2017/02/06 Javascript
Linux使用Node.js建立访问静态网页的服务实例详解
2017/03/21 Javascript
JS如何设置元素样式的方法示例
2017/08/28 Javascript
mongoose设置unique不生效问题的解决及如何移除unique的限制
2017/11/07 Javascript
微信小程序录音与播放录音功能
2017/12/25 Javascript
ES6之模版字符串的具体使用
2018/05/17 Javascript
详解JavaScript中的坐标和距离
2019/05/27 Javascript
如何提升vue.js中大型数据的性能
2019/06/21 Javascript
基于vue hash模式微信分享#号的解决
2020/09/07 Javascript
python实现单向链表详解
2018/02/08 Python
Python编程学习之如何判断3个数的大小
2019/08/07 Python
Python面向对象特殊属性及方法解析
2020/09/16 Python
利用纯css3实现的文字亮光特效的代码演示
2014/11/27 HTML / CSS
CSS3 分类菜单效果
2019/05/27 HTML / CSS
Kate Spade美国官网:纽约新兴时尚品牌,以包包闻名于世
2017/11/09 全球购物
Furla官网:意大利著名的皮革品牌
2019/08/06 全球购物
优秀班干部事迹材料
2014/01/26 职场文书
项目备案申请报告
2015/05/15 职场文书
健身房被搭讪?用python写了个小米计时器助人为乐
2021/06/08 Python
详解解Django 多对多表关系的三种创建方式
2021/08/23 Python