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中路径问题的解决方案
Oct 09 PHP
深入了解php4(1)--回到未来
Oct 09 PHP
使用字符串函数输出整数化的PHP版本号
Oct 09 PHP
PHP 已经成熟
Dec 04 PHP
程序员编程十条戒律
Jul 09 PHP
array_multisort实现PHP多维数组排序示例讲解
Jan 04 PHP
PHP中实现中文字符进制转换原理分析
Dec 06 PHP
php preg_filter执行一个正则表达式搜索和替换
Feb 27 PHP
基于php常用正则表达式的整理汇总
Jun 08 PHP
探讨如何在PHP开启gzip页面压缩实例
Jun 09 PHP
PHP通过串口实现发送短信
Jul 08 PHP
php实现在线通讯录功能(附源码)
May 13 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 htmlentities和htmlspecialchars 的区别
2008/08/18 PHP
一贴学会PHP 新手入门教程
2009/08/03 PHP
php 归并排序 数组交集
2011/05/10 PHP
解析在PHP中使用mysqli扩展库对mysql的操作
2013/07/03 PHP
PHP页面中文乱码分析
2013/10/29 PHP
php操作mongoDB实例分析
2014/12/29 PHP
获取Javscript执行函数名称的方法
2006/12/22 Javascript
在JS中如何调用JSP中的变量
2014/01/22 Javascript
jquery判断输入密码两次是否相等
2020/04/22 Javascript
AngularJS向后端ASP.NET API控制器上传文件
2016/02/03 Javascript
基于Jquery和html5实现炫酷的3D焦点图动画
2016/03/02 Javascript
利用jQuery的动画函数animate实现豌豆发射效果
2016/08/28 Javascript
javascript数组对象常用api函数小结(连接,插入,删除,反转,排序等)
2016/09/20 Javascript
RequireJS简易绘图程序开发
2016/10/28 Javascript
JS实现css hover操作的方法示例
2017/04/07 Javascript
JS实现基于Sketch.js模拟成群游动的蝌蚪运动动画效果【附demo源码下载】
2017/08/18 Javascript
微信小程序下拉刷新界面的实现
2017/09/28 Javascript
微信小程序实现左滑修改、删除功能
2020/10/19 Javascript
JavaScript常见事件处理程序实例总结
2019/01/05 Javascript
简谈创建React Component的几种方式
2019/06/15 Javascript
vue 组件销毁并重置的实现
2020/01/13 Javascript
Node Express用法详解【安装、使用、路由、中间件、模板引擎等】
2020/05/13 Javascript
[01:09:40]Newbee vs Pain 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python使用两种发邮件的方式smtp和outlook示例
2017/06/02 Python
Python冲顶大会 快来答题!
2018/01/17 Python
python监控键盘输入实例代码
2018/02/09 Python
tensorflow查看ckpt各节点名称实例
2020/01/21 Python
python自动化测试三部曲之unittest框架的实现
2020/10/07 Python
如何使用Pytorch搭建模型
2020/10/26 Python
HTML5实现文件断点续传的方法
2017/01/04 HTML / CSS
韩国CJ食品专卖网:CJonmart
2016/09/11 全球购物
瑞典香水、须后水和美容产品购物网站:Parfym-Klick.se
2019/12/29 全球购物
简历中自我评价分享
2013/10/09 职场文书
中班开学寄语
2014/04/04 职场文书
婚前协议书范本
2014/10/27 职场文书
毕业生自我鉴定范文
2019/05/13 职场文书