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 相关文章推荐
ZF等常用php框架中存在的问题
Jan 10 PHP
PHP iconv 函数转gb2312的bug解决方法
Oct 11 PHP
PHP投票系统防刷票判断流程分析
Feb 04 PHP
解析PHP中如何将数组变量写入文件
Jun 06 PHP
解析zend studio中直接导入svn中的项目的方法步骤
Jun 21 PHP
PHP临时文件的安全性分析
Jul 04 PHP
php中实现xml与mysql数据相互转换的方法
Dec 25 PHP
PHP中应该避免使用同名变量(拆分临时变量)
Apr 03 PHP
php短信接口代码
May 13 PHP
PHP后端银联支付及退款实例代码
Jun 23 PHP
PHP实现时间比较和时间差计算的方法示例
Jul 24 PHP
php优化查询foreach代码实例讲解
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
Apache2 httpd.conf 中文版
2006/12/06 PHP
让PHP支持页面回退的两种方法[转]
2007/02/14 PHP
php zend 相对路径问题
2009/01/12 PHP
基于在生产环境中使用php性能测试工具xhprof的详解
2013/06/03 PHP
使用PHP备份MySQL和网站发送到邮箱实例代码
2013/11/28 PHP
php获取微信openid方法总结
2019/10/10 PHP
基于jquery的让页面控件不可用的实现代码
2010/04/27 Javascript
Whatever:hover 无需javascript让IE支持丰富伪类
2010/06/29 Javascript
style、 currentStyle、 runtimeStyle区别分析
2010/08/01 Javascript
nodejs创建web服务器之hello world程序
2015/08/20 NodeJs
使用jQuery获取data-的自定义属性
2015/11/10 Javascript
对Angular.js Controller如何进行单元测试
2016/10/25 Javascript
理解 javascript 中的函数表达式与函数声明
2017/07/07 Javascript
基于substring()和substr()的使用以及区别(实例讲解)
2017/12/28 Javascript
jquery.onoff实现简单的开关按钮功能(推荐)
2018/05/24 jQuery
jQuery-ui插件sortable实现自由拖动排序
2018/12/01 jQuery
Vue 数组和对象更新,但是页面没有刷新的解决方式
2019/11/09 Javascript
原生js实现ajax请求和JSONP跨域请求操作示例
2020/03/14 Javascript
Node.js API详解之 dns模块用法实例分析
2020/05/15 Javascript
Ubuntu安装Jupyter Notebook教程
2017/10/18 Python
Python中创建二维数组
2018/10/17 Python
Python环境下安装PyGame和PyOpenGL的方法
2020/03/25 Python
Python根据指定文件生成XML的方法
2020/06/29 Python
调用HTML5的Canvas API绘制图形的快速入门指南
2016/06/17 HTML / CSS
Free People中国官网:波西米亚风格女装服饰
2016/08/30 全球购物
大韩航空官方网站:Korean Air
2017/10/25 全球购物
美丽的珠宝配饰:SmallThings
2019/09/04 全球购物
蔻驰英国官网:COACH英国
2020/07/19 全球购物
中标通知书
2015/04/17 职场文书
英语通知范文
2015/04/22 职场文书
2015年初三班主任工作总结
2015/05/21 职场文书
离婚答辩状怎么写
2015/05/22 职场文书
2016大学先进团支部事迹材料
2016/03/01 职场文书
使用tensorflow 实现反向传播求导
2021/05/26 Python
这样写python注释让代码更加的优雅
2021/06/02 Python
Vue + iView实现Excel上传功能的完整代码
2021/06/22 Vue.js