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 ...
随机推荐
- How to print 如何输出 int64_t,uint64_t的值 in C
For int64_t type: int64_t t; printf("%"PRId64"\n", t); for uint64_t type: uint64 ...
- .NET 农码一生
农码一生博文索引 http://www.cnblogs.com/zhaopei/p/Indexes.html 那些年搞不懂的术语.概念:协变.逆变.不变体 http://www.cnblogs.com ...
- Spring Bean后处理器以及容器后处理器【转】
Bean后处理器:即当spring容器实例化Bean实例之后进行的增强处理. 容器后处理器:对容器本身进行处理,并总是在容器实例化其他任何Bean之前读取配置文件的元数据并可能修改这些数据. 一.Be ...
- pointers on c (day 1,chapter3)
第3章 数据 c中,仅有4中基本数据类型——整型.浮点型.指针和聚合类型(如数组和结构等). 整型:字符.短整型和长整型,它们都分为有符号(signed)和无符号(unsigned). short i ...
- 【oracle】oracle表结构导出到Word
因为需要写数据库文档,所以需要把数据库里边的表结构在word中用表格列出来,之前一直用powerdesigner,感觉有些麻烦,后来在网上找到了一段sql语句,经测试完全符合我的需求,不敢独享,语句如 ...
- Bug整理——$(window).height()获取到$(document).height()的问题
想看解决方案不想看无聊乏味的bug解决过程的同学,请直接跳转到页面底部~ 今天在做项目的过程中遇到了一个BUG,项目中需要获取到浏览器客户区的高度以方便做一些适应性调整,代码如下: $(documen ...
- javascript 基础篇
JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处理. 一.如何编写 1. ...
- git add 命令
git add xx命令可以将xx文件添加到暂存区,如果有很多改动可以通过 git add -A .来一次添加所有改变的文件. 注意 -A 选项后面还有一个句点. git add -A表示添加所有内容 ...
- HTML 5 视频(video)
video 元素支持三种视频格式 IE Firefox Opera Chrome Safari 带有 Theora 视频编码和 Vorbis 音频编码的 Ogg 文件 No 3.5+ 10.5+ 5. ...
- [转]Oracle数据块体系的详细介绍
数据块概述Oracle对数据库数据文件(datafile)中的存储空间进行管理的单位是数据块(data block).数据块是数据库中最小的(逻辑)数据单位.与数据块对应的,所有数据在操作系统级的最小 ...