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下通过exec获得计算机的唯一标识[CPU,网卡 MAC地址]
Jun 09 PHP
PHP中通过fopen()函数访问远程文件示例
Nov 18 PHP
PHP和Shell实现检查SAMBA与NFS Server是否存在
Jan 07 PHP
php面向对象中static静态属性与方法的内存位置分析
Feb 08 PHP
PHP使用逆波兰式计算工资的方法
Jul 29 PHP
PHP 7的一些引人注目的新特性简单介绍
Nov 08 PHP
Zend Framework+smarty用法实例详解
Mar 19 PHP
PHP使用Mysqli类库实现完美分页效果的方法
Apr 07 PHP
PHP常用文件操作函数和简单实例分析
Jun 03 PHP
PHP基于ORM方式操作MySQL数据库实例
Jun 21 PHP
thinkPHP框架整合tcpdf插件操作示例
Aug 07 PHP
Smarty模板类内部原理实例分析
Jul 03 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/10/03 PHP
php中计算未知长度的字符串哪个字符出现的次数最多的代码
2012/08/14 PHP
使用gd库实现php服务端图片裁剪和生成缩略图功能分享
2013/12/25 PHP
PHP中shuffle数组值随便排序函数用法
2014/11/21 PHP
Yii框架获取当前controlle和action对应id的方法
2014/12/03 PHP
php实现数据库的增删改查
2017/02/26 PHP
PHP中的浅复制与深复制的实例详解
2017/10/26 PHP
JQuery的ajax基础上的超强GridView展示
2009/09/18 Javascript
extjs 学习笔记(三) 最基本的grid
2009/10/15 Javascript
IE6 弹出Iframe层中的文本框“经常”无法获得输入焦点
2009/12/27 Javascript
通过隐藏iframe实现文件下载的js方法介绍
2014/02/26 Javascript
Ajax请求在数据量大的时候出现超时的解决方法
2014/02/27 Javascript
js实现一个链接打开两个链接地址的方法
2015/05/12 Javascript
jQuery 移动端artEditor富文本编辑器
2016/01/11 Javascript
详解JavaScript的内置对象
2016/12/07 Javascript
JavaScript中使用Async实现异步控制
2017/08/15 Javascript
浅谈react-router HashRouter和BrowserRouter的使用
2017/12/29 Javascript
4个顶级JavaScript高级文本编辑器
2018/10/10 Javascript
three.js 将图片马赛克化的示例代码
2020/07/31 Javascript
element-ui中el-upload多文件一次性上传的实现
2020/12/02 Javascript
mapboxgl实现带箭头轨迹线的代码
2021/01/04 Javascript
[49:05]Newbee vs TNC 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python遍历类中所有成员的方法
2015/03/18 Python
Python中关于使用模块的基础知识
2015/05/24 Python
Python3 操作符重载方法示例
2017/11/23 Python
python编程实现12306的一个小爬虫实例
2017/12/27 Python
使用Python爬取最好大学网大学排名
2018/02/24 Python
python中利用zfill方法自动给数字前面补0
2018/04/10 Python
Python找出列表中出现次数最多的元素三种方式
2020/02/24 Python
python文件操作seek()偏移量,读取指正到指定位置操作
2020/07/05 Python
西雅图电动自行车公司:Rad Power Bikes
2020/02/02 全球购物
现在输入n个数字,以逗号,分开;然后可选择升或者降序排序;按提交键就在另一页面显示按什么排序,结果为,提供reset
2012/11/09 面试题
教师考核材料
2014/05/21 职场文书
2014年教育实习工作总结
2014/11/22 职场文书
离婚协议书范文2016
2016/03/18 职场文书
windows10 家庭版下FTP服务器搭建教程
2022/08/05 Servers