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 ...
随机推荐
- JS中对象排序
详细代码如下: var s=[{name:"abc",value:10},{name:"dbc",value:5},{name:"acc", ...
- 淘宝弹性布局方案lib-flexible实践
2个月前,写过一篇文章<从网易与淘宝的font-size思考前端设计稿与工作流>总结过一些移动web中有关手机适配的一些思路,当时也是因为工作的关系分析了下网易跟淘宝的移动页面,最后才有那 ...
- word2013删除下载的模板
word2013删除下载的模板 删除步骤: 1)关闭相关的word文档. 2)按照以下的路径找到相应的位置:"%系统根目录%\Users\Administrator\AppData\Roam ...
- zeromq中两个dealer 通过一个router进行通信
发现有童鞋不是很清楚ZMQ中的“请求-回复”模式中的ROUTER怎么用,所以简单介绍一下“请求-回复”模式的使用(最后付代码). 一.讲一讲 1.要使用zmq 通过一个router进行通信,你首先需要 ...
- css 图片内容在不同分辨率下居中显示(演示的图片宽度是1920px,当图片宽度大于显示屏的宽度时)
1.img 图片内容在不同分辨率下居中显示(如果隐藏多余,在img外面套一个div 设定overflow: hidden.div的大小就是img显示区域的大小) <!DOCTYPE html& ...
- HTML当中特殊字符的表示
(回车换行) <br> (空格符) &(AND符号) & <(左尖括号.小于号) < >(右尖括号.大于号) > °(度) ° •(间隔符) ...
- FastJson和AsyncHttpCLient
Android的展示数据,除了上章所讲的本地存储外,大部分数据都来自于网络.首先介绍一下Android APP开发常见的网络操作方式.从网络层面上有底层的tcp/ip,也就是我们常见的socket套接 ...
- 动态生成linearLayout
LinearLayout linearLayout=new LinearLayout(this); linearLayout.setOrientation(LinearLayout.VERTICAL) ...
- Angular2对待一个URL的处理流程
直到一年前我还不会想到我会写一本书出来,直到两三年前我还不会想到会把自己的业余时间放在写作(技术博客)上.当初在机缘巧合之下,我只是想把自己工作中遇到的问题总结起来,发布在博客中以供日后查阅.不想竟然 ...
- Java学习记录-Jdk包简单介绍
java.applet Java语言编写的一些小应用程序 java.awt AWT 是Abstract Window ToolKit (抽象窗口工具包)的缩写,这个工具包提供了一套与本地图形界面进行交 ...