Параметр массива Oracle SP в php - PullRequest
0 голосов
/ 11 февраля 2010

Я вызываю хранимую процедуру 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 голосов
/ 11 февраля 2010

"принимает массив в качестве входного параметра"

Возникает вопрос: вы пытаетесь передать строку из PHP?

Если это так, вы намереваетесь рассматривать эту строку как одну запись в массиве, или вам нужно каким-то образом ее анализировать, превращая ее в набор строк, которые будут назначены массиву.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...