黑马程序员_PHP_课程同步笔记day36:PDO介绍(二)_黑马程序员php笔记

其他范文 时间:2020-02-28 06:53:15 收藏本文下载本文
【www.daodoc.com - 其他范文】

黑马程序员_PHP_课程同步笔记day36:PDO介绍(二)由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“黑马程序员php笔记”。

【黑马程序员济南】PDO介绍(二)

异常模式

使用一种特定的异常处理语法,则一发生错误,就会自动处理,不发生错误,就正常执行。语法形式如下:

try {

//这里执行pdo的一些操作,比如:

$result1 = $pdo->query(“select * form user_list;”);//该语句有错误!

上一行“可能”出错,则如果出错,就不会再执行try范围中的后续语句;而是进入catch语句中

而没有出错,就会继续执行try中的后续语句;

。。这里可以继续处理pdo结果集对象$result1;

}

catch(PDOEXCEPTION $e){

//这里,$e是一个“对象”——就是“错误对象”,或所谓的“异常对象”

其中$e对象有一些属性或方法可以获取有关错误的信息,比如:

echo “错误代号:”.$e->GetCode();

echo ‘错误信息:”.$e->GetMeage()

}

黑马程序员济南中心 编著

使用异常模式,必须先将pdo对象“设置为异常模式”,如下:

$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);[PHP] 纯文本查看 复制代码 ? 01

04 //连接PDO

05 $dsn = “mysql:host=localhost;port=3306;dbname=haha”;06 $opt = array(PDO::MYSQL_ATTR_INIT_COMMAND=>'set names 07 utf8');08 $pdo = new pdo($dsn,“root”,“123”,$opt);09 //演示异常模式:$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTI12 ON);13 14 try{ 15 $result = $pdo->query(“select * from no_this_table;”);//没有这个16 表,该语句有错误!var_dump($result);//不会执行这步。18 }

黑马程序员济南中心 编著catch(PDOEXCEPTION $e){ echo “错误代号:”.$e->GetCode();echo “错误信息:”.$e->GetMeage();} pdo的结果集对象

$stmt = $pdo->query(“select......”);//这是获得结果集

$stmt->rowCount():结果的行数

$stmt->columnCount():结果的列数

$stmt->fetch([返回类型]):获取结果集的一行,为一个一维数组

//其中返回类型常用的有:

PDO::FETCH_ASSOC:表示关联数组

PDO::FETCH_NUM:表示索引数组

PDO::FETCH_BOTH:表示前二者皆有,这是默认值

PDO::FETCH_OBJ:表示对象

$stmt->fetchAll([返回类型]):获取结果集的所有行,为一个二维数组

$stmt->fetchColumn([$i]):获取一行的某个列,默认为第一列的值

pdo的预处理语句

基本理解:

就是一条sql语句中,包含了“未定参数数据”,但却预先对该sql语句进行“预处理”,以提升速度,提高安全性。

比如:

黑马程序员济南中心 编著

语法一:$sql1 = “select * from tab1 where f1 = ? and f2 >?”;

//占位符形式

语法二:$sql2 = “select * from tab1 where f1 = :val1 and f2 >:val2”;

//命名参数形式

我们可以先“预处理”:

$result1 = $pdo->prepare($sql1);

$result2 = $pdo->prepare($sql2);

然后,可以对其中的“未定参数数据”进行赋值了,比如:

$result1->bindValue(1, 值1);

//这种形式只能用数字代号表示第几个,顺序从1开始

$result1->bindValue(2, 值2);

//还要注意:字符串或数字就该怎么写就怎么写

或:

$result2-> bindValue(“:val1”, 值1);//这里只能用该带冒号的名字来表示

$result2-> bindValue(“:val2”, 值2);

最后,就可以执行了:得到该得到的结果集!

$result1->execute();

$result2->execute();举例:

[PHP] 纯文本查看 复制代码 ? 01

黑马程序员济南中心 编著

02 /*黑马程序员济南中心出品*/ 03

04 //连接PDO 05 $dsn = 06 “mysql:host=localhost;port=3306;dbna07 me=haha”;08 $opt = 09 array(PDO::MYSQL_ATTR_INIT_COMMA10 ND=>'set names utf8');11 $pdo = newpdo($dsn,“root”,“123”,$opt);13 //语法一:$sql1 = “select * from user_list where 16 user_name= ? and age>?”;//占位符形式 17 //语法二:$sql2 = “select * from user_list where 19 user_id >:n and age

$re1 = $pdo->prepare($sql1);//进行23 预处理

黑马程序员济南中心 编著$re2 = $pdo->prepare($sql2);//进行25 预处理 26

$re1->bindValue(1,”user3“);$re1->bindValue(2,30);$re1->execute();

$re1->bindValue(”:n“,10);$re1->bindValue(”:age",60);$re1->execute();

[align=left]

黑马程序员济南中心 编著

黑马程序员_PHP_课程同步笔记day35:PDO介绍

PDO介绍pdo是什么? PDO: PHP 的 Data Object(php的数据对象) pdo到底是什么? 它相当于“别人”写的mysqldb工具类! 比如: $pdo = new pdo();//这就是$pdo的一个对象! 但pdo比我们自己写的m......

黑马程序员_PHP_课程同步笔记day07:JS介绍(二)

【黑马程序员】PHP课程同步笔记day07:JS介绍(二) 流程控制If语句:格式:if(条件){//语句块} 如果条件满足true,才执行大括号里面的代码,如果条件不满足,则不执行大括号里面的代码。......

黑马程序员_PHP_课程同步笔记day05:CSS介绍(二)

【黑马程序员】PHP课程同步笔记day05:CSS介绍(二) CSS内边距属性:padding填充Padding:一个数字,指的是四个方向是一样的(上右下左)Padding的四个属性: Padding-top(上内边距),padd......

黑马程序员_PHP_课程同步笔记day11:DOM介绍

【济南中心】PHP课程同步笔记day11:DOM介绍DOM(文本对象模型(Document Object Model)) W3C组织推荐的处理可扩展标志语言的标准编程接口。W3C的DOM,可以使程序或脚本(JS或AS、......

黑马程序员_PHP_课程同步笔记day17:数组介绍

【黑马程序员】PHP课程同步笔记day17:数组介绍数组 1.数组的概念数组是一组值的集合,变量是单个值的容器,而数组是多个值的容器 2.数组的分类1.枚举数组:数组的下标是从0开始的......

下载黑马程序员_PHP_课程同步笔记day36:PDO介绍(二)word格式文档
下载黑马程序员_PHP_课程同步笔记day36:PDO介绍(二).doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

热门文章
点击下载本文