好文档 - 专业文书写作范文服务资料分享网站

PHP之pdo教程(2)

天下 分享 时间: 加入收藏 我要投稿 点赞

异常模式

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

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

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

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

而没有出错,就会继续执行try中的后续语句; 。。。这里可以继续处理pdo结果集对象$result1; }

catch ( PDOEXCEPTION $e){

//这里,$e是一个“对象”——就是“错误对象”,或所谓的“异常对象” 其中$e对象有一些属性或方法可以获取有关错误的信息,比如: echo “错误代号:” . $e->GetCode(); echo ‘错误信息:” . $e->GetMessage() }

使用异常模式,必须先将pdo对象“设置为异常模式”,如下: $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

//连接PDO

$dsn = \

$opt = array(PDO::MYSQL_ATTR_INIT_COMMAND=>'set names utf8'); $pdo = new pdo($dsn,\

//演示异常模式:

$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); try{

$result = $pdo->query(\没有这个表,该语句有错误!

var_dump($result);//不会执行这步。。 }

catch(PDOEXCEPTION $e){

echo \错误代号:\ echo \错误信息:\}

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 = \* from tab1 where f1 = ? and f2 >?\ //占位符形式

语法二:$sql2 = \ //命名参数形式

我们可以先“预处理”:

$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();

//连接PDO

$dsn = \

$opt = array(PDO::MYSQL_ATTR_INIT_COMMAND=>'set names utf8'); $pdo = new pdo($dsn,\

//语法一:

$sql1 = \占位符形式 //语法二:

$sql2 = \命名参数形式

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

$re1->bindValue(1,\$re1->bindValue(2,30); $re1->execute();

$re1->bindValue(\$re1->bindValue(\$re1->execute();

[align=left] ?>

PHP之pdo教程(2)

异常模式使用一种特定的异常处理语法,则一发生错误,就会自动处理,不发生错误,就正常执行。语法形式如下:try{//这里执行pdo的一些操作,比如:$result1=$pdo->query(“select*formuser_list;”);//该语句有错误!上一行“可能”出错,则如果出错,
推荐度:
点击下载文档文档为doc格式
28se70xc0d2wkqq4mj6h371qz5d0jm00kkc
领取福利

微信扫码领取福利

微信扫码分享