我正在使用PDO和OCI驱动程序。我特别INSERT
查询导致触发错误:PDO异常不会引发触发错误
ERROR at line 1:
ORA-01403: no data found
ORA-06512: at "FOO.BAR", line 5
ORA-04088: error during execution of trigger 'FOO.BAR'
然而,一个异常没有被发生这种情况时抛出。我使用的是ERRMODE_EXCEPTION
,对于标准查询语法错误等,异常处理正常,但对于源自触发器的任何错误,而不是。
至$st->execute()
调用不返回在这种情况下FALSE
无论是。此外,$st->errorInfo()
和$st->errorCode()
都是无益的,还有:
array(3) {
[0]=>
string(5) "00000"
[1]=>
NULL
[2]=>
NULL
}
string(5) "00000"
我怎样才能得到PDO时触发错误发生抛出一个异常?或者,如果这是不可能的,我怎样才能通过其他方式以编程方式检测何时发生这种情况?我甚至知道发生错误的唯一方法(除了数据库未更新)之外,$st->rowCount()
报告为0.但是,这不是一种独特或可靠的方法,它本身并不能确定是否发生错误......
你能分享的PHP代码触发的错误? –