手册可以找到:函数参考》数据库扩展》数据库抽象层》PDO; 在php.ini中开启模块: extension=php_pdo_MySQL.dll然后重启服务器
就是,为了“重复执行”多条结构类似的sql语句,而将该sql语句的形式“进行预先处理” 该sql语句的“形式”中,含有“未给定的数据项”。 然后,到正式执行的时候,只要给定相应的形式上的“数据项”,就可以更快速方便执行。 比如(有两种预定义语法): 语法1:
<?php/*$sql = “select * from tab where id = ? “; //这里这个“?”就是未给定的数据项;这里通常叫做“占位符”//也可以是多个问好。*/?>语法2:
<?php/*$sql = “select * from tab where id = :v1 and name = :v2 “; //这里这个“:v1”和 “:v2” 就是未给定的数据项;通常这里叫做“命名参数”;*/?>1,对含预处理语法的sql语句进行“预处理”:
$stmt = $pdo->PRepare( $sql );2, 对上述预处理的结果对象($stmt)的未赋值数据,进行赋值:
$stmt->bindValue( 数据项1, 值1); $stmt->bindValue( 数据项2, 值2);3, 执行:$stmt->execute(); 这样之后,该sql语句就算正式完成!
可以简单理解为:适应面向对象语法的处理错误的一种语法结构。如下所示:
try{在这里,可以执行“可能出错”的语句(多条也可以);一旦发生错误,就会终止当前范围的后续程序执行,而立即跳转到catch部分——处理错误!}catch( Exception $e ){//一旦发生错误,就会进入这里,此时,并会生成一个“错误对象”;//该错误对象,就是系统类Exception的一个实例:它包含了错误信息。}pdo要使用异常模式,就得专门设置(因为其默认是静默模式);$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);新闻热点
疑难解答