php中的Oracle SP数组参数

时间:2010-02-10 21:56:31

标签: php arrays oracle

我正在调用Oracle存储过程,该过程将数组作为输入参数。 Owa.vc_arr(VARCHAR2)

我正在使用php进行调用并收到错误消息。任何帮助将不胜感激。我正在使用的代码如下。

function findSupplier($ptype) {

$proCall = 'BEGIN ICPISSAAPILIB.FIND_SUPPLIER(:P_PRODUCT_TY, :P_RESULTS); End;';

//Step 1: Prepare
$query = oci_parse($this->connect(), $proCall);                

// Bind the input P_PRODUCT_TY argument to the $prodType PHP variable
$ptype = oci_new_collection($this->connect(),'vc_arr');    
oci_bind_by_name($query,":P_PRODUCT_TY",$ptype,-1);

// Create a new cursor resource
$supplier_res = oci_new_cursor($this->connect());                      

// Bind the cursor resource to the Oracle argument
oci_bind_by_name($query,":P_RESULTS",$supplier_res,-1,OCI_B_CURSOR);

//Now Execute statement    
oci_execute($query);                   

// cursor
oci_execute($supplier_res);

//Here boy, fetch
while ($items = oci_fetch_assoc($supplier_res)) {
    $results[] = $items;
}

//returns multidimentional array containing cust_id, company_nm, street1, 
// street2, street 3, p_origin_longitude, p_radius, p_name
return $results;

}

1 个答案:

答案 0 :(得分:0)

“将数组作为输入参数”

问题浮现在脑海中,您是否尝试从PHP传入字符串?

如果是这样,你打算将该字符串视为数组中的单个条目,或者你是否需要以某种方式解析它将其转换为一组字符串以分配给数组。