博客
关于我
强烈建议你试试无所不能的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/

你可能感兴趣的文章
OracleLinux安装说明
查看>>
nova分析(7)—— nova-scheduler
查看>>
Entity Framework 实体框架的形成之旅--Code First模式中使用 Fluent API 配置(6)
查看>>
OpenMediaVault 搭建git,ssh无法连接问题
查看>>
java多线程之:Java中的ReentrantLock和synchronized两种锁定机制的对比 (转载)
查看>>
mysql性能优化学习笔记-参数介绍及优化建议
查看>>
【Web动画】SVG 实现复杂线条动画
查看>>
使用Wireshark捕捉USB通信数据
查看>>
《树莓派渗透测试实战》——1.1 购买树莓派
查看>>
Apache Storm 官方文档 —— FAQ
查看>>
iOS 高性能异构滚动视图构建方案 —— LazyScrollView
查看>>
Java 重载、重写、构造函数详解
查看>>
【Best Practice】基于阿里云数加·StreamCompute快速构建网站日志实时分析大屏
查看>>
【云栖大会】探索商业升级之路
查看>>
HybridDB实例新购指南
查看>>
C语言及程序设计提高例程-35 使用指针操作二维数组
查看>>
华大基因BGI Online的云计算实践
查看>>
深入理解自定义Annotation,实现ButterKnif小原理
查看>>
排序高级之交换排序_冒泡排序
查看>>
Cocos2d-x3.2 Ease加速度
查看>>