oci_error 返回上一个错误 php函数


oci_error

(PHP 5, PECL OCI8 >= 1.1.0)

oci_error返回上一个错误

说明

array oci_error ([ resource $source ] )

对于大多数错误,参数是最适合的资源句柄。对于 oci_connect()oci_new_connect()oci_pconnect() 的连接错误,不要传递参数。如果没有发现错误,oci_error() 返回 FALSEoci_error() 以一个关联数组返回错误。在此数组中,code 是 oracle 错误代码而 message 是 oracle 的错误字符串。

Note: 自 PHP 4.3 起

offsetsqltext 也包括在返回的数组中,用来指出错误发生的位置以及造成错误的原始的 SQL 文本。

Example #1 连接错误后显示 Oracle 错误信息

$conn = @oci_connect("scott", "tiger", "mydb");
if (!$conn) {
  $e = oci_error();   // For oci_connect errors pass no handle
  echo htmlentities($e['message']);
}

Example #2 语法解析错误后显示 Oracle 错误信息

$stmt = @oci_parse($conn, "select ' from dual");  // note mismatched quote
if (!$stmt) {
  $e = oci_error($conn);  // For oci_parse errors pass the connection handle
  echo htmlentities($e['message']);
}

Example #3 执行错误后显示 Oracle 错误信息和出错的语句

$r = oci_execute($stmt);
if (!$r) {
  $e = oci_error($stmt); // For oci_execute errors pass the statementhandle
  echo htmlentities($e['message']);
  echo "<pre>";
  echo htmlentities($e['sqltext']);
  printf(" %".($e['offset']+1)."s", "^");
  echo "</pre>";
}

Note:

在 PHP 5.0.0 之前的版本必须使用 ocierror() 替代本函数。该函数名仍然可用,为向下兼容作为 oci_error() 的别名。不过其已被废弃,不推荐使用。



相关阅读:
oci_execute 执行一条语句
oci_fetch Fetches the next row into result-buffer
oci_fetch_all 获取结果数据的所有行到一个数组
oci_fetch_array Returns the next row from a query as an associative or numeric array
oci_fetch_assoc Returns the next row from a query as an associative array
oci_fetch_object Returns the next row from a query as an object
oci_fetch_row Returns the next row from a query as a numeric array
oci_field_is_null 检查字段是否为 NULL
oci_field_name 返回字段名
oci_field_precision 返回字段精度
oci_field_scale 返回字段范围
oci_field_size 返回字段大小
oci_field_type 返回字段的数据类型
oci_field_type_raw 返回字段的原始 Oracle 数据类型
快速导航

Copyright © 2016 phpStudy |