pdo的错误处理

时间:2024-10-13 19:16:20

pdo的错误处理

工具/原料

pdo的错误处理

模式1:默认模式(常规错误模式)

1、比如,pdo对象执行如下“错误sql语句”,$re1 = $pdo->exec(“deleteeeefrom XXX where id = 12”);则根据我们之前对pdo的了解,此时返回的是false——表示执行错误。但此时,有怎么对其进行“错误处理”。我们来对比之前的纯mysql函数:$sql = “deleteddddd from YYYY where id = 12”;$result = mysql_query( $sql );if( $result === false ){ //错误时的处理:echo “发生错误:”. mysql_error();}else{//正确时 。。。。}那么,pdo的错误处理,默认跟该形式几乎一样!类似这样:if( $re1=== false ){ //错误时的处理:echo “错误代号:”. $pdo->errorcode(); //errorcode()就是一个数字(代号)echo “错误信息:”. $pdo->errorinfo(); //errorinfo()的结果是一个数组!//实际应该这样:$err = $pdo->errorinfo();echo “错误信息:”. $err[2];}else{//正确时 。。。。}举例:

pdo的错误处理

模式2:异常模式

1、什献垴淄睬么叫做异常?异常就是不正常。对编程的人来说,凡是“超出程序员的逻辑预计”的结果,都是异常——其实,异常,就是“错误”的另一个说法——是在面向对象鲇膣纫犀领域的说法。因为,一个错误发生,其实也可以说生成了一个“异常对象”——系统内部有一个“异常类”。要想pdo发生错误时,以异常模式进行处理,得先“设置”pdo错误处理模式为“异常模式”,如下:$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);然后,异常模式的处理语法为:try{$re1 = $pdo->query( “sql语句”);var_dump($re1);}catch( PDOEXCEPTION $e ){ //PDOEXCEPTION是一个“内部类”,表示pdo的异常类//$e是一个该类的对象。echo “发生错误:”echo “错误代号”. $e->getcode() ;echo “错误内容”. $e->getmessage();}总体解释:程序会“尝试执行”try中语句:如果没有发生错误,则就完全执行完该段代码。如果发生错误,则程序在try中立即停止,并进入catch部分执行其中的代码,此时并且会自动生成一个“异常对象”($e)举例:什么叫做异常?异常就是不正常。对编程的人来说,凡是“超出程序员的逻辑预计”的结果,都是异常——其实,异常,就是“错误”的另一个说法——是在面向对象领域的说法。因为,一个错误发生,其实也可以说生成了一个“异常对象”——系统内部有一个“异常类”。要想pdo发生错误时,以异常模式进行处理,得先“设置”pdo错误处理模式为“异常模式”,如下:$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);然后,异常模式的处理语法为:try{$re1 = $pdo->query( “sql语句”);var_dump($re1);}catch( PDOEXCEPTION $e ){ //PDOEXCEPTION是一个“内部类”,表示pdo的异常类//$e是一个该类的对象。echo “发生错误:”echo “错误代号”. $e->getcode() ;echo “错误内容”. $e->getmessage();}总体解释:程序会“尝试执行”try中语句:如果没有发生错误,则就完全执行完该段代码。如果发生错误,则程序在try中立即停止,并进入catch部分执行其中的代码,此时并且会自动生成一个“异常对象”($e)举例:

pdo的错误处理

2、结果为:

pdo的错误处理
© 手抄报圈