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 相关文章推荐
模拟OICQ的实现思路和核心程序(三)
Oct 09 PHP
让PHP支持页面回退的两种方法
Jan 10 PHP
php zip文件解压类代码
Dec 02 PHP
PHP技术开发技巧分享
Mar 23 PHP
php设计模式 Visitor 访问者模式
Jun 28 PHP
逆序二维数组插入一元素的php代码
Jun 08 PHP
phpstorm编辑器乱码问题解决
Dec 01 PHP
Yii2表单事件之Ajax提交实现方法
May 04 PHP
php往mysql中批量插入数据实例教程
Dec 12 PHP
PDO::getAttribute讲解
Jan 28 PHP
Laravel框架自定义验证过程实例分析
Feb 01 PHP
laravel5.1框架model类查询的实现方法
Oct 08 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
优化使用mysql存储session的php代码
2008/01/10 PHP
php daodb插入、更新与删除数据
2009/03/19 PHP
Sorting Array Values in PHP(数组排序)
2011/09/15 PHP
分享下php5类中三种数据类型的区别
2015/01/26 PHP
PHP闭包函数传参及使用外部变量的方法
2016/03/15 PHP
laravel orm 关联条件查询代码
2019/10/21 PHP
js 代码集(学习js的朋友可以看下)
2009/07/22 Javascript
利用javascript实现一些常用软件的下载导航
2009/08/03 Javascript
js tab效果的实现代码
2009/12/26 Javascript
使用jQuery同时控制四张图片的伸缩实现代码
2013/04/19 Javascript
jQuery中clone()方法用法实例
2015/01/16 Javascript
jQuery判断指定id的对象是否存在的方法
2015/05/22 Javascript
JavaScript中用getDate()方法返回指定日期的教程
2015/06/09 Javascript
jQuery实现时尚漂亮的弹出式对话框实例
2015/08/07 Javascript
Nodejs+express+ejs简单使用实例代码
2017/09/18 NodeJs
jQuery简单实现对数组去重及排序操作实例
2017/10/31 jQuery
vue2.0 下拉框默认标题设置方法
2018/08/22 Javascript
vue input实现点击按钮文字增删功能示例
2019/01/29 Javascript
JS中的算法与数据结构之栈(Stack)实例详解
2019/08/20 Javascript
jquery获取input输入框中的值
2019/11/13 jQuery
详解elementUI中input框无法输入的问题
2020/04/27 Javascript
[01:02]DOTA2上海特锦赛SHOWOPEN
2016/03/25 DOTA
python 循环while和for in简单实例
2016/08/16 Python
Python3使用SMTP发送带附件邮件
2020/06/16 Python
python/sympy求解矩阵方程的方法
2018/11/08 Python
python命名空间(namespace)简单介绍
2019/08/10 Python
HTML5使用DOM进行自定义控制示例代码
2013/06/08 HTML / CSS
新加坡一家在线男士皮具品牌:Faire Leather Co.
2019/12/01 全球购物
2013英文求职信模板范文
2013/11/15 职场文书
计算机专业推荐信范文
2013/11/20 职场文书
结婚保证书(卖身契)
2015/02/26 职场文书
倡议书范文大全
2015/04/28 职场文书
2015年为民办实事工作总结
2015/05/26 职场文书
2015年教务处干事工作总结
2015/07/22 职场文书
遗嘱范文
2015/08/07 职场文书
vue3种table表格选项个数的控制方法
2022/04/14 Vue.js