在持久连接上,失败的 T-SQL 将允许 odbc_error 和 odbc_errormsg 返回错误,但随后的成功的 T-SQL 不会清除错误。这是一个错误吗?
(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)
odbc_error — 获取最后一个错误代码
版本 | 描述 |
---|---|
8.0.0 |
odbc 现在可以为空。 |
如果您使用参数,请确保它是 CONNECTION_ID 而不是 RESULT_ID。
测试结果可能会返回一个空字符串或有时是一个垃圾字符串。
# -- 示例代码 --
$rs = odbc_exec($dbc, $sql);
# 这是错误的,但不会在
# 你向客户展示页面之前报错!
if (odbc_error($rs)) die(...);
# 这些有效
if (odbc_error()) die(...);
if (odbc_error($dbc)) die(...);
使用 IBM DB2 V7.1 和 MS SQL Server 7 ODBC 数据库连接。
在每次调用不产生错误的 odbc_ 函数后,打印 odbc_error() 或 odbc_errormsg() 的结果,迟早您会得到垃圾而不是空字符串!
我使用过这个函数,它非常简单易用。
使用 IBM DB2
<?php
// 必须先设置连接
if (odbc_error())
{
echo odbc_errormsg($conn);
}
// 如果您想显示完整的错误消息
// 那么使用字符串函数格式化它。
?>
祝您有美好的一天!