PDO中错误处理:errorCode方法和errorInfo方法
时间:2019-01-11
本文章向大家介绍PDO中错误处理:errorCode方法和errorInfo方法,主要包括PDO中错误处理:errorCode方法和errorInfo方法使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
在PDO中,有两个获取程序中错误信息的方法:errorCode方法和errorInfo方法。
1、errorCode方法
errorCode方法用于获取在操作数据库句柄时所发生的错误代码,这个错误代码被称为SQLSTATE代码,语法为:
int PDOStatement::errorCode(void)
errorCode 方法返回一个错误代码,也就是“SQLSTATE”,SQLSTATE 是由5个数字和字母组成的代码。
在PDO中通过query方法完成数据的查询操作,并且通过foreach 语句完成数据的循环输出。在定义SQL 语句时使用一个错误的数据表,并且通过errorCode方法返回错误代码。
<?php
$dbms = 'mysql';
$dbname = 'db_study';
$host = '127.0.0.1';
$user = 'root';
$pwd = '123456';
$dsn = "$dbms:host=$host;dbname=$dbname";
try{
$pdo = new PDO($dsn,$user,$pwd);
$query = "select * from tb_study";
$result = $pdo->query($query);
echo "errorCode 为:".$pdo->errorCode();
foreach($result as $items){
?>
<tr>
<td height="20" align="center" valign="middle"><?php echo $items['id']; ?></td>
<td align="center" valign="middle"><?php echo $items['pdo_type']; ?></td>
<td align="center" valign="middle"><?php echo $items['database_name']; ?></td>
<td align="center" valign="middle"><?php echo $items['dates']; ?></td>
</tr>
<?php
}
}catch(PDOException $e){
die("Error!:".$e->getMessage()."<br/>");
}
?>
2、errorInfo方法
errorInfo方法用于获取操作数据库句柄时所发生的错误信息,语法如下:
array PDOStatement::errorInfo(void)
errorInfo方法的返回值为一个数组,它包含了相关的错误信息。
在PDO中通过query方法完成数据的查询操作,并且通过foreach语句完成数据的循环输出,最后通过errorInfo方法返回错误信息。
<?php
$dbms = 'mysql';
$dbname = 'db_study';
$host = '127.0.0.1';
$user = 'root';
$pwd = '123456';
$dsn = "$dbms:host=$host;dbname=$dbname";
try{
$pdo = new PDO($dsn,$user,$pwd);
$query = "select * from tb_study";
$result = $pdo->query($query);
print_r($pdo->errorInfo());
foreach($result as $items){
?>
<tr>
<td height="20" align="center" valign="middle"><?php echo $items['id']; ?></td>
<td align="center" valign="middle"><?php echo $items['pdo_type']; ?></td>
<td align="center" valign="middle"><?php echo $items['database_name']; ?></td>
<td align="center" valign="middle"><?php echo $items['dates']; ?></td>
</tr>
<?php
}
}catch(PDOException $e){
die("Error!:".$e->getMessage()."<br/>");
}
?>
- ArcGIS for Android学习(一)
- Arcgis for Silverlight学习(一)
- ImageButton与Button
- RadioButton、CheckBox与ToggleButton
- Silverlight学习(五)图形标绘
- radio与checkbox
- JavaScript之cookie
- Silverlight学习(四) domainservice动态多条件查询
- Android学习Tabhost、gallery、listview、imageswitcher
- ProgressBar、RatingBar和Spinner控件
- TimePicker控件、帧动画、补间动画
- Android学习之简单的数据存储
- Android学习之菜单
- Android简单登录系统
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- PR工具自带的电源网络分析功能靠谱吗?
- flask_admin使用教程
- C#使用FtpWebRequest 基础连接已经关闭:连接被意外关闭(The underlying connection was closed:The connection was closed u
- 自动化运维实践 | Ansible入门
- 通过设置JDK解决存在多个Gradle后台进程的问题
- Head First设计模式——组合模式
- mmap概述
- 什么是计算机程序?操作系统、指令、进程、线程等
- Head First设计模式——状态模式
- Head First设计模式——代理模式
- [Maven]告警[WARNING] Unable to create Maven project from repository.
- Head First设计模式——复合模式
- [System.currentTimeMillis]/[Calendar.getInstance().getTimeInMillis()]/[new Date().getTime()]
- 【每日一题】32. Longest Valid Parentheses
- 面经手册 · 第3篇《HashMap核心知识,扰动函数、负载因子、扩容链表拆分深度学习(+实践验证)》