PHP中关于PDO数据访问抽象层的功能操作实例

PDO:数据访问抽象层

具有三大特点:

1.可以访问其它数据库  所有数据库都可以

2.具有事务功能

3.带有预处理语句功能(防止SQL注入攻击)

实例操作代码如下:

<?php

//1.造PDO对象
$dsn ="mysql:dbname=mydb;host=localhost";//数据库类型:dbname=数据库名称;host=链接的ip或本机
$pdo =new PDO($dsn,"root","root");//$dsn,帐号,密码

//2.写SQL语句
$sql ="select * from info";
$sql ="insert into info values('004','王六','男','n007','1994-02-11')";

//3.执行SQL语句
$stm = $pdo->query($sql); //查询语句用query,返回的是结果
$arr = $pdo->exec($sql);//增删改用exec,返回的是执行的行数

//4.从PDOStatement对象里面读数据
$arr =$stm->fetch(PDO::FETCH_NUM);//默认不选为PDO::FETCH_BOTH fetch为选择一条数据
$arr = $stm->fetchAll(PDO::FETCH_BOTH);//fetchAll为全选

//事务类型:即要不全部都通过,要不全部失败,可以参考淘宝购物,必须同时满足扣款,减去库存和添加订单三项条件,缺一不可
//beginTransation 启动事务
//commit 提交事务
//rollback 回滚:返回到启动事务之前

//1.造PDO对象
$dsn ="mysql:dbname=mydb;host=localhost";
$pdo =new PDO($dsn,"root","root");

//2.将PDO的错误类型设置为异常模式
$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);

try //尝试运行,包含从开启事务到提交事务
{
  //开启事务
  $pdo->beginTransaction();
  $sql1 = "insert into info values('004','进口','男','n008','1994-05-11')";
  $sql2 = "insert into info values('005','审核','男','n009','1994-07-11')";
  $sql3 = "insert into info values('006','姐我','男','n0010','1994-08-11')";

  $pdo->exec($sql1);
  $pdo->exec($sql2);
  $pdo->exec($sql3);

  //提交事务
  $pdo->commit();
}
  catch(Exception $e)
  {
    //回滚操作
    $pdo->rollBack();

  }
  //强类型语言中使用
  final
  {
    //最终执行,无论有没有异常出现,该代码都会执行
  }
?>

以上这篇PHP中关于PDO数据访问抽象层的功能操作实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • PHP PDO操作总结

    0x01:测试PDO是否安装成功 运行如下代码,如果提示参数错误,说明PDO已经安装,如果说明对象不存在,则修改PHP配置文件php.ini,取消php_pdo_yourssqlserverhere.extis前面的注释. 复制代码 代码如下: $test=new PDO(); 0x02:连接数据库 运行Apache服务器,确定服务器已经运行并且PDO安装成功,那么下面我们就来连接数据库吧. 复制代码 代码如下: $dsn = 'mysql:dbname=demo;host=localhost;

  • 详解PHP中的PDO类

     简介 咱一起来看看PDO类.PDO是PHP Data Objects的缩写,它被描述为"在PHP中访问数据库的轻量级,兼容性的接口".尽管它的名字不咋好听,但PDO是一个在PHP中访问数据库会让人喜爱的方式. 与MySQLi的不同 MySQLi和PDO很相似,都有两方面主要区别: 1.MySQLi只能访问MySQL,但PDO可以访问12种不同的数据库 2.PDO没有普通函数调用(mysqli_*functions) 开始步骤 首先,你得确定一下你的PHP是否安装了PDO插件.你可以用

  • php pdo操作数据库示例

    POD扩展是在PHP5中加入,该扩展提供PHP内置类 PDO来对数据库进行访问,不同数据库使用相同的方法名,解决数据库连接不统一的问题. PDO的特点: 性能.PDO 从一开始就吸取了现有数据库扩展成功和失败的经验教训.因为 PDO 的代码是全新的,所以我们有机会重新开始设计性能,以利用 PHP 5 的最新特性. 能力.PDO 旨在将常见的数据库功能作为基础提供,同时提供对于 RDBMS 独特功能的方便访问. 简单.PDO 旨在使您能够轻松使用数据库.API 不会强行介入您的代码,同时会清楚地表

  • PHP数据对象PDO操作技巧小结

    本文实例讲述了PHP数据对象PDO操作技巧.分享给大家供大家参考,具体如下: PHP 数据对象 (PDO) 扩展为PHP访问数据库定义了一个轻量级的一致接口. <?php try { $dsn = "mysql:host=localhost; port=3306; dbname=wsq_hotel; charset=utf-8"; $user = 'root'; $psw ='root'; $pdo = new PDO($dsn,$user,$psw); $sql = 'sele

  • php数据库抽象层 PDO

    下面就来介绍一下数据库抽象层PDO的使用: PDO(PHP Data Objects)是一个轻量级的PHP扩展,提供了一个数据访问抽象层.还要就是PDO只能在PHP5.0以上版本使用. 下面来介绍一下PDO常用的预定义常量: PDO::PARAM_BOOL (integer) 表示布尔数据类型 PDO::PARAM_NULL (integer) 表示数据类型为NULL的SQL PDO::PARAM_INT (integer)  表示为integer数据类型的SQL PDO::PARAM_STR 

  • PHP中关于PDO数据访问抽象层的功能操作实例

    PDO:数据访问抽象层 具有三大特点: 1.可以访问其它数据库  所有数据库都可以 2.具有事务功能 3.带有预处理语句功能(防止SQL注入攻击) 实例操作代码如下: <?php //1.造PDO对象 $dsn ="mysql:dbname=mydb;host=localhost";//数据库类型:dbname=数据库名称;host=链接的ip或本机 $pdo =new PDO($dsn,"root","root");//$dsn,帐号,密

  • 使用JDBC实现数据访问对象层(DAO)代码示例

    JAVA是面向对象的语言,开发者在操作数据的时候,通常更习惯面对一个特定类型的对象,如一个用户就是一个User类的对象.DAO层需要做的,就是为上层提供充分的对象支持,让上层再也看不到具体的数据,而是一个个活生生的对象. 增加,删除,查询和修改操作是DAO需要做的最基本的4项操作.查询一般需要提供遍历查询和id查询,对于遍历查询,DAO需要提供User泛型的list对象,对于id查询则提供已经装配好数据的User对象,至于增加和修改操作,上层一般会提供一个User对象,DAO把User对象中的数

  • SpringBoot中Mybatis + Druid 数据访问的详细过程

    目录 1.简介 2.JDBC 3.CRUD操作 4.自定义数据源 DruidDataSource 1.配置 Druid 数据源监控 2.配置 Druid web 监控 filter 5.SpringBoot 整合mybatis 1. 导入mybatis所需要的依赖 2.配置数据库连接信息 3,创建实体类 4.配置Mapper接口类 6.SpringBoot 整合 1.简介 ​ 对于数据访问层,无论是SQL(关系型数据库) 还是NOSQL(非关系型数据库),SpringBoot 底层都是采用 Sp

  • Yii中的relations数据关联查询及统计功能用法详解

    本文实例讲述了Yii中的relations数据关联查询及统计功能用法.分享给大家供大家参考,具体如下: 关联查询,Yii 也支持所谓的统计查询(或聚合查询). 它指的是检索关联对象的聚合信息,例如每个 post 的评论的数量,每个产品的平均等级等. 统计查询只被 HAS_MANY(例如,一个 post 有很多评论) 或 MANY_MANY (例如,一个 post 属于很多分类和一个 category 有很多 post) 关联对象执行. 执行统计查询非常类似于之前描述的关联查询.我们首先需要在 C

  • PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)

    1.首先做主页面Ajax_pag.php 代码如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Ajax做分页</title> <script src="bootstrap/js/jquery-1.11.2.min.js"></script> <script src="Ajax_

  • Python中函数及默认参数的定义与调用操作实例分析

    本文实例讲述了Python中函数及默认参数的定义与调用操作.分享给大家供大家参考,具体如下: #coding=utf8 ''''' Python中的函数使用小括号调用.函数在调用之前必须先定义. 如果函数中没有return语句,就会自动返回None对象. Python是通过引用调用的.如果函数内对参数的改变会影响到原始对象. 只有可变对象会受此影响,对不可变对象,它的行为类似按值调用. ''' ''''' 定义函数: def function_name([arguments]): "option

  • ASP.NET中的DataGridView绑定数据和选中行删除功能具体实例

    首现我们拖入一个DataGridView控件到.aspx页面中,然后绑定你需要显示的列,具体代码如下. 复制代码 代码如下: <asp:GridView ID="gvDepartList" runat="server" AutoGenerateColumns="False"          Height="108px" Width="600px"  OnRowDeleting="gvDep

  • php数据访问之增删改查操作

    增删改查操作小练习,大家练练手吧 一.查看新闻页面-----主页面 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>查看新闻</title> </head> <body> <h1>查看新闻</h1> <table widt

  • Android App中实现可以双击放大和缩小图片功能的实例

    先来看一个很简单的核心图片缩放方法: public static Bitmap scale(Bitmap bitmap, float scaleWidth, float scaleHeight) { int width = bitmap.getWidth(); int height = bitmap.getHeight(); Matrix matrix = new Matrix(); matrix.postScale(scaleWidth, scaleHeight); Log.i(TAG, "s

  • PHP使用PDO抽象层获取查询结果的方法示例

    本文实例讲述了PHP使用PDO抽象层获取查询结果的方法.分享给大家供大家参考,具体如下: PHP使用PDO抽象层获取查询结果,主要有三种方式: (1)PDO::query()查询. 看下面这段php代码: <?php //PDO::query()查询 $psql="SELECT * FROM user"; $res = $db->query($psql); $res->setFetchMode(PDO::FETCH_NUM); //数字索引方式 while ($row

随机推荐