gpt4 book ai didi

php - 当 DB 返回错误语句时处理 PDOException

转载 作者:可可西里 更新时间:2023-11-01 13:27:05 26 4
gpt4 key购买 nike

我想知道如何准确处理 PDO 类中可用的数据库驱动程序返回的错误语句。

例如,我们以 UNIQUE 字段作为研究案例。

您应该知道,至少当 PDO 的 Debug模式处于事件状态时,当尝试在数据库的 UNIQUE 字段中添加重复的内容时,我们会收到 PDOException。

我想知道处理这个问题的正确方法是什么。我搜索了一下,发现了这个:

try {

// PDO::prepare(), PDOStatement::execute e etc.

} catch( PDOException $e ) {

if( $e -> getCode() == 23000 ) {
// Do something
}
}

但我不确定它是否正确,作为程序员,这真的是一个好习惯吗?我的意思是,依赖于错误代码?

更糟糕的是:PDO 接受多个驱动程序,它们共享相同的错误代码?

当然这不是唯一的例子。还有其他几个错误代码,对吗?这种“技术”可以在所有情况下使用吗?

最佳答案

看了http://php.net/manual/en/class.pdoexception.php之后,我觉得您可能需要依靠 $e->getMessage() 来找出错误是什么。

通读其中一篇文章 provided ,您可能需要从消息中提取正确的错误代码。

PDO 似乎是以一种相当奇怪的方式编写的!但在处理多种数据库类型时,它仍然非常宝贵!

关于php - 当 DB 返回错误语句时处理 PDOException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6001432/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com