PHP中PDO的错误处理
面向对象的方法:首先看PHP中连接错误和PDO错误的处理,用面向对象的方法处理:复制代码如下:php try { $db=新PDO(' MySQL : host=localhost;dbname=test ',$user,$ pass);$ db=null} catch(PDOException $ e){ print ' error : '。$e-getMessage()。br/';die();} ?本文利用PHP 5的面向对象异常处理特性,如果有异常,我们将初始化并调用PDOException来初始化一个异常类。PDOException异常类的属性结构:复制代码如下:php类PDOException扩展了Exception { public $ error info=null;//错误消息,可以调用PDO:errorInfo()或pdostatem:3360errorinfo()访问受保护的$ message//异常信息,可以尝试Exception:getMessage()访问受保护的$ code//SQL状态错误代码,可以使用Exception:getCode ()}?这个异常处理类是PHP 5中内置的集成异常处理类。先简单看一下PHP 5内置的异常处理类结构:复制代码如下:class exception {//属性受保护$ message='未知异常';//异常信息受保护$ code=0;//用户自定义异常代码保护的$ file//文件名受保护的$行有异常;//带有异常//方法最终函数getMessage()的代码行号;//返回异常信息最终函数getCode();//返回异常代码最终函数getFile();//返回文件名最终函数getLine(),出现异常;//返回异常的代码行号,final函数getTrace();//backtrace()数组最终函数gettracasstring();//getTrace()已转换为字符串的信息}?相应地,可以在代码中正确调用getFile()和getLine()来定位错误,这使得调试更加方便。用面向过程的方法先看代码:复制代码如下:$db=新PDO(' MySQL : host=localhost;dbname=test ',$user,$ pass);$rs=$db-query('SELECT aa,bb,cc FROM foo ');if ($db-errorCode()!=' 00000 '){ print _ r($ db-ErrorInfo());退出;} $ arr=$ RS-Fetchall();print _ r($ arr);$ db=null?PDO和PDOStatement对象有errorCode()和errorInfo()方法。如果没有错误,errorCode()返回: 0000,否则会返回一些错误代码。ErrorInfo()返回一个数组,包括PHP定义的错误代码,MySQL的错误代码和错误信息。数组结构如下:array ([0]=42s22 [1]=1054 [2]=未知列'字段列表'中的' AAA ')每次查询后,errorCode()的结果都是最新的,所以我们可以很轻松的。在用PDO开发PHP和数据库的过程中,再次遇到错误怎么办?用上面的方法处理。11.3.4错误处理PDOPDO提供了两种获取程序中错误信息的方法,一种是errorCode()方法;另一种是errorInfo()方法。1.errorCode()方法errorcode()方法用于获取操作数据库句柄时出现的错误代码。这些错误代码称为SQLSTATE代码。这个方法的语法格式如下:01 string error code(void)error code()方法的返回值是一个SQLSTATE,它是由5个数字和字母组成的代码。下面是一个使用errorCode()方法的例子:[程序11-17]CD \ code \ 11 \ PDO \ error code . PHP复制代码如下:PHP $ DSN=' MySQL : dbname=shop;host=localhost ';$ user _ name=' root$ user _ psw=' root$pdo=新PDO($dsn,$user_name,$ user _ PSW);$ PDO-exec(' update my table set age=28,其中id=1 ');//表mytable不存在。回声“errorCode”为:“”。$ PDO-ERROR COde();上述代码输出的错误代码如图11-13所示。
2.errorInfo()方法Errorinfo()方法用于在操作数据库句柄时获取错误信息。此方法的语法格式如下:01 Array error info(void)error info()方法的返回值是一个数组,其中包含相关的错误信息。使用errorInfo()方法的示例代码如下:[程序11-18]CD \ code \ 11 \ PDO \ errorInfo . PHP Copy代码如下:PHP $ DSN=' MySQL : dbname=shop;host=localhost ';$ user _ name=' root$ user _ psw=' root$pdo=新PDO($dsn,$user_name,$ user _ PSW);$ PDO-exec(' update my table set age=28,其中id=1 ');//table mytable不存在echo 'errorInfo为:';print _ r($ PDO-ErrorInfo());上述代码输出的错误信息如图11-14所示。
版权声明:PHP中PDO的错误处理是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。