收到错误消息对于oci_execute()错误(PHP)(Getting Error Message

2019-07-28 23:09发布

我想,如果一个查询在Oracle 10g中未能得到具体的错误消息。 对于MySQL,PHP有可能返回关于为什么一个查询失败的详细信息,mysql_error()函数。 我检查了oci_execute()函数php.net手册,但是从我看到的只是对失败返回false。

我试着用oc_error(),但我没有得到来自任何事情。

下面是一个代码示例:

    $err = array();
    $e = 0;

    //Cycle through all files and insert new records into database
    for($f=0; $f<sizeof($files); $f++)
    {
        $invoice_number = $files[$f]['invoice_number'];
        $sold_to = $files[$f]['sold_to'];
        $date = $files[$f]['date'];

        $sql = "insert into invoice (dealer_id, invoice_number, invoice_date) 
                values ('$sold_to', '$invoice_number', '$date')";

        $stid = oci_parse($conn, $sql);
        $result = oci_execute($stid);

        //If query fails
        if(!$result)
        {
            $err[$e] = oci_error();
            $e++;
        }
    } 

    print_r($err);

为的print_r($ ERR)响应:

Array ( [0] => [1] => [2] => [3] => [4] => [5] => [6] => [7] => [8] => ) 

Answer 1:

你有没有试图通过$ STID到oci_error?

$err[$e] = oci_error($stid);


Answer 2:

oci_error()函数将指定你的错误的情况下的参数。 通过它没有参数将只适用于某些类型的连接错误的工作。 你想要做的就是通过解析的语句资源,就像这样:

$err = oci_error($stid);

(另请注意,从返回值oci_error是一个数组,所以我分配到整个输出到您的$err数组变量)



文章来源: Getting Error Message For oci_execute() Error (PHP)