一、实例化一个PDO对象

//实例化一个PDO对象
//1,设置数据源相关参数
$dbms = 'mysql';
$host = '127.0.0.1';
$port = '3306';
$dbname = 'bbs';
$charset = 'utf8';
//设置数据源
$dsn = "$dbms:host=$host;port=$port;dbname=$dbname;charset=$charset";
//设置用户名和密码
$user = 'root';
$pass = 'admin';
//实例化PDO类
$pdo = new PDO($dsn,$user,$pass);
var_dump($pdo);

二、FETCH的一个小例子

//实例化一个PDO对象
//1,设置数据源相关参数
$dbms = 'mysql';
$host = '127.0.0.1';
$port = '3306';
$dbname = 'bbs';
$charset = 'utf8';
//设置数据源
$dsn = "$dbms:host=$host;port=$port;dbname=$dbname;charset=$charset";
//设置用户名和密码
$user = 'root';
$pass = 'admin';
//实例化PDO类
$pdo = new PDO($dsn,$user,$pass);

//$sql
$sql = "select * from user";

//执行一条语句
$result = $pdo->query($sql);
//$result是一个结果对象集 PDOStatement对象一般也叫作结果对象!
//var_dump($result);

//调用fetchALL方法输出
//$rows = $result->fetchALL();
echo '<pre />';
//var_dump($rows);

//fetch 每次从PDOStatement结果集中获取一条记录,同时把指针下移,该方法有一个参数,可以控制返回值的类型!

var_dump($result->fetch(PDO::FETCH_ASSOC));
//var_dump($result->fetch(PDO::FETCH_NUM));
var_dump($result->fetch(PDO::FETCH_BOTH));

三、PDO的预处理操作

//1,设置数据源相关参数
$dbms = 'mysql';
$host = '127.0.0.1';
$port = '3306';
$dbname = 'bbs';
$charset = 'utf8';
//设置数据源
$dsn = "$dbms:host=$host;port=$port;dbname=$dbname;charset=$charset";
//设置用户名和密码
$user = 'root';
$pass = 'admin';
//实例化PDO类
$pdo = new PDO($dsn,$user,$pass);
//PDO中的预处理技术
//第一步,发送预处理语句
$sql = "insert into user values(null,:user,:pass,:default)";

//执行一条语句
$result = $pdo->prepare($sql);
//$result是一个结果对象集 PDOStatement对象一般也叫作结果对象!
var_dump($result);

//第二步绑定参数 先把每个参数保存到变量中
$user = '小HONG';
$pass = md5('123456');
$default = 'default.jpg';

//再绑定参数变量
//$result->bindParam(':user',$user);
//$result->bindParam(':pass',$pass);
//$result->bindParam(':default',$default);

//执行预处理语句
//$res = $result->execute();
//if($res){
// echo 'ok';
//}else{
// echo 'no';
//}

//数组绑定参数
$arr =array(
':user'=>$user,
':pass'=>$pass,
':default'=>$default
);
//执行预处理语句
$res = $result->execute($arr);
if($res){
echo 'ok';
}else{
echo 'no';
}

四、PDO的异常处理

//1,设置数据源相关参数
$dbms = 'mysql';
$host = '127.0.0.1';
$port = '3306';
$dbname = 'bbs';
$charset = 'utf8';
//设置数据源
$dsn = "$dbms:host=$host;port=$port;dbname=$dbname;charset=$charset";
//设置用户名和密码
$user = 'root';
$pass = 'admin';
//实例化PDO类
$pdo = new PDO($dsn,$user,$pass);
//设置PDO异常处理方式
$pdo ->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);//异常模式
//监控异常
try{
//准备sql语句
$sql = "select * from user";
$result = $pdo->query($sql);
}catch(PDOException $e){//捕获异常
echo '错误的代码是',$e->getcode(),'<br />';
echo '错误的信息是',$e->getmessage(),'<br />';
echo '错误的脚本是',$e->getfile(),'<br />';
echo '错误的行号是',$e->getline(),'<br />';
}

PDO的一些操作的更多相关文章

  1. 一个基于PDO的数据库操作类(新) 一个PDO事务实例

    <?php /* * 作者:胡睿 * 日期:2011/03/19 * 电邮:hooray0905@foxmail.com * * 20110319 * 常用数据库操作,如:增删改查,获取单条记录 ...

  2. PHP PDO 简单登陆操作

    用PHP做出一个简单的登陆操作,确实很简单,下面就让我给大家简单的介绍一下PDO做出一个登陆界面操作的过程,因为也是初学乍练,不足之处请大家包涵. 首先,首先还要建一个表,在MySQL中建表,核心代码 ...

  3. 关于安装PHP补装PDO与PDO_MYSQL操作

    我这里是通过PHP源码包来安装的 1.安装pdo cd到你的PHP源码包下的ext/pdo目录,然后执行如下操作: #/usr/local/php/bin/phpize   (/usr/local/p ...

  4. php pdo mysql数据库操作类

    <?php namespace iphp\core; use iphp\App; /** * 数据库操作基类 基于pdo * @author xuen * 支持链式操作,支持参数绑定 * 说明1 ...

  5. PHP 基于pdo的数据库操作类

    http://www.php.cn/php-weizijiaocheng-404645.html <?php class Pdodb{   protected $pdo;   protected ...

  6. PDO访问方式操作数据库

    mysqli是专门访问MySQL数据库的,不能访问其它数据库.PDO可以访问多种的数据库,它把操作类合并在一起,做成一个数据访问抽象层,这个抽象层就是PDO,根据类操作对应的数据库.mysqli是一个 ...

  7. php PDO简介和操作

    PDO:数据访问抽象层 具有三大特点: 1.可以访问其它数据库  所有数据库都可以 2.具有事务功能 3.带有预处理语句功能(防止SQL注入攻击) <?php //1.造PDO对象 $dsn = ...

  8. PDO链式操作——针对关键字出现问题的解决方案

    例如: 1.执行一条SQL语句:查询user表中的所有数据,并通过name字段进行降序,通过age进行升序 2. 案例1:   正确的执行语句为:SELECT * FROM user ORDER BY ...

  9. SQL注入实验,PHP连接数据库,Mysql查看binlog,PreparedStatement,mysqli, PDO

    看到有人说了判断能否sql注入的方法: 简单的在参数后边加一个单引号,就可以快速判断是否可以进行SQL注入,这个百试百灵,如果有漏洞的话,一般会报错. 下面内容参考了这两篇文章 http://blog ...

随机推荐

  1. Android入门(二):Android工程目录结构

    首先我们来看看Android工程的目录结构,如下图: 下面我们来看看每个文件夹都是用来做什么的? 1.src:这个不用多说,它就是保存Java源文件的目录: 2.gen:该文件夹用来保存自动生成的R. ...

  2. 几种经典排序算法的R语言描述

    1.数据准备 # 测试数组 vector = c(,,,,,,,,,,,,,,) vector ## [] 2.R语言内置排序函数 在R中和排序相关的函数主要有三个:sort(),rank(),ord ...

  3. tibble包:高效显示表格数据的结构

    1 tibble包简介 包名: tibble 编码: UTF- 最新版本: 1.2 标题: 简单数据框 描述: 构建一个 'tbl_df' 类,可以比传统的R数据框提供更好的检查和打印功能. 作者: ...

  4. 李洪强iOS经典面试题140-UI

    李洪强iOS经典面试题140-UI   UI viewcontroller的一些方法的说明viewDidLoad,viewWillDisappear, viewWillAppear方法的 顺序和作用? ...

  5. Python之路第一课Day1--随堂笔记

    课堂大纲: 一.Python介绍 二.发展史 三.Python 2 or 3? 四.安装 五.Hello World程序 六.变量 七.用户输入 八.模块初识 九..pyc是个什么鬼? 十.数据类型初 ...

  6. [转]SQL三种获取自增长的ID方法

     最新更新请访问: http://denghejun.github.io   SQL SERVER中的三种获得自增长ID的方法  这个功能比较常用,所以记下来以防自己忘掉. SCOPE_IDENTIT ...

  7. Unity学习疑问记录之触摸点坐标

    Vector3 pos=Camera.main.ScreenToWorldPoint(Input.GetTouch(0).position); 类似的鼠标点击Camera.main.ScreenToW ...

  8. Hibernate加载数据失败failed to lazily initialize a collection of role

    在测试获取数据库中的数据或者在页面获取时,有时会遇到这样的错误提示: failed to lazily initialize a collection of role: com.exam.entity ...

  9. redis批量删除key

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000; background-color: #fffff ...

  10. springmvc HandlerInterceptoer WebRequestInterceptor MethodInterceptor使用

    HandlerInterceptoer拦截的是请求地址,所以针对请求地址做一些验证.预处理等操作比较合适.