PDO的一些操作
一、实例化一个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的一些操作的更多相关文章
- 一个基于PDO的数据库操作类(新) 一个PDO事务实例
<?php /* * 作者:胡睿 * 日期:2011/03/19 * 电邮:hooray0905@foxmail.com * * 20110319 * 常用数据库操作,如:增删改查,获取单条记录 ...
- PHP PDO 简单登陆操作
用PHP做出一个简单的登陆操作,确实很简单,下面就让我给大家简单的介绍一下PDO做出一个登陆界面操作的过程,因为也是初学乍练,不足之处请大家包涵. 首先,首先还要建一个表,在MySQL中建表,核心代码 ...
- 关于安装PHP补装PDO与PDO_MYSQL操作
我这里是通过PHP源码包来安装的 1.安装pdo cd到你的PHP源码包下的ext/pdo目录,然后执行如下操作: #/usr/local/php/bin/phpize (/usr/local/p ...
- php pdo mysql数据库操作类
<?php namespace iphp\core; use iphp\App; /** * 数据库操作基类 基于pdo * @author xuen * 支持链式操作,支持参数绑定 * 说明1 ...
- PHP 基于pdo的数据库操作类
http://www.php.cn/php-weizijiaocheng-404645.html <?php class Pdodb{ protected $pdo; protected ...
- PDO访问方式操作数据库
mysqli是专门访问MySQL数据库的,不能访问其它数据库.PDO可以访问多种的数据库,它把操作类合并在一起,做成一个数据访问抽象层,这个抽象层就是PDO,根据类操作对应的数据库.mysqli是一个 ...
- php PDO简介和操作
PDO:数据访问抽象层 具有三大特点: 1.可以访问其它数据库 所有数据库都可以 2.具有事务功能 3.带有预处理语句功能(防止SQL注入攻击) <?php //1.造PDO对象 $dsn = ...
- PDO链式操作——针对关键字出现问题的解决方案
例如: 1.执行一条SQL语句:查询user表中的所有数据,并通过name字段进行降序,通过age进行升序 2. 案例1: 正确的执行语句为:SELECT * FROM user ORDER BY ...
- SQL注入实验,PHP连接数据库,Mysql查看binlog,PreparedStatement,mysqli, PDO
看到有人说了判断能否sql注入的方法: 简单的在参数后边加一个单引号,就可以快速判断是否可以进行SQL注入,这个百试百灵,如果有漏洞的话,一般会报错. 下面内容参考了这两篇文章 http://blog ...
随机推荐
- Android入门(二):Android工程目录结构
首先我们来看看Android工程的目录结构,如下图: 下面我们来看看每个文件夹都是用来做什么的? 1.src:这个不用多说,它就是保存Java源文件的目录: 2.gen:该文件夹用来保存自动生成的R. ...
- 几种经典排序算法的R语言描述
1.数据准备 # 测试数组 vector = c(,,,,,,,,,,,,,,) vector ## [] 2.R语言内置排序函数 在R中和排序相关的函数主要有三个:sort(),rank(),ord ...
- tibble包:高效显示表格数据的结构
1 tibble包简介 包名: tibble 编码: UTF- 最新版本: 1.2 标题: 简单数据框 描述: 构建一个 'tbl_df' 类,可以比传统的R数据框提供更好的检查和打印功能. 作者: ...
- 李洪强iOS经典面试题140-UI
李洪强iOS经典面试题140-UI UI viewcontroller的一些方法的说明viewDidLoad,viewWillDisappear, viewWillAppear方法的 顺序和作用? ...
- Python之路第一课Day1--随堂笔记
课堂大纲: 一.Python介绍 二.发展史 三.Python 2 or 3? 四.安装 五.Hello World程序 六.变量 七.用户输入 八.模块初识 九..pyc是个什么鬼? 十.数据类型初 ...
- [转]SQL三种获取自增长的ID方法
最新更新请访问: http://denghejun.github.io SQL SERVER中的三种获得自增长ID的方法 这个功能比较常用,所以记下来以防自己忘掉. SCOPE_IDENTIT ...
- Unity学习疑问记录之触摸点坐标
Vector3 pos=Camera.main.ScreenToWorldPoint(Input.GetTouch(0).position); 类似的鼠标点击Camera.main.ScreenToW ...
- Hibernate加载数据失败failed to lazily initialize a collection of role
在测试获取数据库中的数据或者在页面获取时,有时会遇到这样的错误提示: failed to lazily initialize a collection of role: com.exam.entity ...
- redis批量删除key
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000; background-color: #fffff ...
- springmvc HandlerInterceptoer WebRequestInterceptor MethodInterceptor使用
HandlerInterceptoer拦截的是请求地址,所以针对请求地址做一些验证.预处理等操作比较合适.