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/>");}
?>
PDO中错误处理:errorCode方法和errorInfo方法相关推荐
- PIL库中Image类thumbnail方法和resize方法区别
from PIL import Image im=Image.open("C:\\Users\\kethur\\Desktop\\a.jpg") x,y=im.size pri ...
- 详细说说ActionScript中function的call()方法和apply()方法
今天看到function的call和apply这两个方法,上网查了一下,有人说这两个方法是用来动态改变函数指向,并给了一个例子:如下 import customize.my_class; ...
- pandas中DataFrame的apply()方法和applymap()方法,以及python内置函数map()
我们经常会对DataFrame对象中的某些行或列,或者对DataFrame对象中的所有元素进行某种运算或操作,我们无需利用低效笨拙的循环: import pandas as pd import num ...
- java中的正则matches方法和find方法的区别
Java 正则表达式里find()方法的使用 package com.zte.st.dailybuild.dao;import java.util.regex.Matcher; import java ...
- python:PIL库中Image类thumbnail方法和resize方法的比较
from PIL import Imageim=Image.open("C:\\Users\\kethur\\Desktop\\a.jpg") x,y=im.size print( ...
- vector类中为什么没有push_front方法和pop_front方法
vector是开辟一块空间来作为数组来存放元素(随机迭代器),如果有了pop_front,pop_back这个功能则很容易造成内存碎片,pop_front会造成头部内存产生碎片,pop_back造成尾 ...
- Hibernate中session的get方法和load方法的区别
一.发送SQL时机: load方法采用延迟加载(lazy懒加载),执行到这行代码的时候,不会发送SQL语句,当真正使用这个对象的数据(对象的数据不包括主键)的时候才发送SQL语句: get方法采用立即 ...
- asp.net TemplateField模板中的Bind方法和Eval方法
TemplateField模板中为了能够有限制的或者取出数据库中某列的值时,可以用Bind和Eval方法来实现.以下是Bind方法的格式,Eval的格式也是和Bind一样的. Bind("列 ...
- ASP.NET Core 中文文档 第二章 指南(4.10)检查自动生成的Detail方法和Delete方法
原文 Examining the Details and Delete methods 作者 Rick Anderson 翻译 谢炀(Kiler) 校对 许登洋(Seay).姚阿勇(Mr.Yao) 打 ...
最新文章
- UNIX--stat、fstat和lstat函数
- 太牛逼!一款软件几乎可以操作所有的数据库!
- Mysql访问新数据时先查表
- 那些关于区块链革命的事情
- nginx安装与配置详解
- .Net Core with 微服务 - Ocelot 网关
- P4322-[JSOI2016]最佳团体【0/1分数规划,树形背包】
- php border-style,border-style
- Hadoop系列-HDFS HA高可用集群
- 为什么要使用 SQLite 数据库?
- 三种urllib实现网页下载,含cookie模拟登陆
- oracle tochar fm,oracle的to_char中的fm-Oracle
- python 小数乘法_《包装》——小数乘法
- 工作台式计算机配置单,台式电脑配置清单.doc
- vue表格中的内容换行与导出Excel换行
- 把阿拉伯数字全部转换为大写(1,2,3.... = 一、二、三、)
- 什么是南向接口和北向接口,南北流量和东西流量
- LeNet实现手写数字识别
- 什么是SQL注入攻击?
- 【Linux Centos6/7 Oracle11g数据库开启归档日志功能】