簡體   English   中英

php + oracle(OCI)問題

[英]Problem with php+oracle(OCI)

可捕獲的致命錯誤:無法在第318行的E:\\ php \\ htdocs \\ PHPRPC \\ func.php中將類OCI-Collection的對象轉換為字符串

編碼:

$sql='BEGIN NCCM_INTERFACE_HISDETAIL(:orgcode,:inhiscode,:inputer,:items); END;';
$conn=oci_connect('chis','chis123','ORCL','UTF8');
$stmt = oci_parse($conn, $sql);
$collection = oci_new_collection($conn,"NCCM_INTERFACE_TABLE");
foreach ($items as $item)
{
    $collection->append($item);
}
oci_bind_by_name($stmt, ":orgcode", $orgcode, -1);
oci_bind_by_name($stmt, ":inhiscode", $inhiscode, -1);
oci_bind_by_name($stmt, ":inputer", $inputer, -1);
oci_bind_by_name($stmt, ":items", $collection,-1); //here the error line
$s=oci_execute($stmt);

誰能幫我解決這個問題? 提前致謝。

問題是您要綁定集合對象,而Oracle希望綁定類型為SQLT_CHR ,例如VARCHAR 因此,Oracle將嘗試在字符串上下文中使用綁定的對象,這是不可能的,因為該集合顯然沒有實現__toString方法。 因此,您會收到以下錯誤消息:對象無法轉換為字符串。

我對此不確定,但是請嘗試在綁定調用中提供其他類型,例如:

oci_bind_by_name($stmt, ":items", $collection,-1, OCI_B_NTY);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM