博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
pdo查找mysql语句错误_PDO中捕获SQL语句中的错误——异常模式
阅读量:5741 次
发布时间:2019-06-18

本文共 2031 字,大约阅读时间需要 6 分钟。

一 代码

使用异常模式——PDO::ERRMODE_EXCEPTION捕获SQL中的错误

ID PDO 数据库 时间 操作

$dbms='mysql'; //数据库类型 ,对于开发者来说,使用不同的数据库,只要改这个,不用记住那么多的函数

$host='localhost'; //数据库主机名

$dbName='db_database15'; //使用的数据库

$user='root'; //数据库连接用户名

$pass='root'; //对应的密码

$dsn="$dbms:host=$host;dbname=$dbName";

try {

$pdo = new PDO($dsn, $user, $pass); //初始化一个PDO对象,就是创建了数据库连接对象$pdo

$query="select * from tb_pdo_mysql limit 5";//定义SQL语句

$result=$pdo->prepare($query);//准备查询语句

$result->execute();//执行查询语句,并返回结果集

while($res=$result->fetch(PDO::FETCH_ASSOC)){//while循环输出查询结果集,并且设置结果集的为关联索引

?>

<?php echo $res['id'];?> <?php echo $res['pdo_type'];?> <?php echo $res['database_name'];?> <?php echo $res['dates'];?>

}

} catch (PDOException $e) {

die ("Error!: " . $e->getMessage() . "

");

}

?>

header ( "Content-type: text/html; charset=utf-8" ); //设置文件编码格式

if($_GET['conn_id']!=""){

$dbms='mysql'; //数据库类型 ,对于开发者来说,使用不同的数据库,只要改这个,不用记住那么多的函数

$host='localhost'; //数据库主机名

$dbName='db_database15'; //使用的数据库

$user='root'; //数据库连接用户名

$pass='root'; //对应的密码

$dsn="$dbms:host=$host;dbname=$dbName";

try {

$pdo = new PDO($dsn, $user, $pass); //初始化一个PDO对象,就是创建了数据库连接对象$pdo

$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);

$query="delete from tb_pdo_mysqls where Id=:id";

$result=$pdo->prepare($query);//预准备语句

$result->bindParam(':id',$_GET['conn_id']);//绑定更新的数据

$result->execute();

} catch (PDOException $e) {

echo 'PDO Exception Caught.';

echo 'Error with the database:

';

echo 'SQL Query: '.$query;

echo '

';

echo "Error: " . $e->getMessage(). "

";

echo "Code: " . $e->getCode(). "

";

echo "File: " . $e->getFile(). "

";

echo "Line: " . $e->getLine(). "

";

echo "Trace: " . $e->getTraceAsString(). "

";

echo '

';

}

}

?>

二 运行结果

PDO Exception Caught.Error with the database:SQL Query: delete from tb_pdo_mysqls where Id=:id

Error: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'db_database15.tb_pdo_mysqls' doesn't existCode: 42S02File: D:\AppServ\www\test\15\9\delete.phpLine: 16Trace: #0 D:\AppServ\www\test\15\9\delete.php(16): PDOStatement->execute()

#1 {main}

转载地址:http://bfnzx.baihongyu.com/

你可能感兴趣的文章
Sangfor_NGAF学习笔记2
查看>>
python学习笔记
查看>>
时间戳数字和时间字符串的相互转换
查看>>
SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
查看>>
实验:新增硬盘、MBR分区、制作文件系统并挂载使用
查看>>
oracle字符集
查看>>
模拟qsort实现冒泡排序
查看>>
Maven在linux环境下批量清除.lastUpdated文件
查看>>
如何用思维导图提高阅读效率?分享高效阅读思维导图模板及绘制技巧
查看>>
Oracle 调整实例参数减少 I/O请求
查看>>
oracle数据库面试题_oracle数据库面试
查看>>
Oracle 11g统计信息方面增强(二)
查看>>
Windows平台下MySQL常用操作与命令(1)
查看>>
PIE SDK彩色标准化融合
查看>>
KVM之实现批量创建KVM虚拟机
查看>>
svn cleanup failed–previous operation has not finished; run cleanup if it was in
查看>>
使用工具检测你的app:模拟器和真机测试 之二
查看>>
jqery和js如何判断checkbox是否选中
查看>>
Yii 2 —— 资源管理(Assets)
查看>>
运维学python之爬虫工具篇(二)Beautiful Soup的用法
查看>>