2010-02-10 8 views
0

J'appelle une procédure Oracle Stored qui prend un tableau en tant que paramètre d'entrée. Owa.vc_arr (varchar2)Paramètre Oracle SP array en php

Je passe un appel en php et j'obtiens une erreur. Toute aide serait grandement appréciée. Le code que j'utilise est donné ci-dessous.

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

Prendre soin de partager l'erreur? –

Répondre

0

« prend un tableau comme un paramètre d'entrée »

La question vient à l'esprit, vous essayez de passer dans une chaîne de PHP?

Si tel est le cas, vous souhaitez que cette chaîne soit traitée comme une entrée unique dans le tableau, ou devez-vous l'analyser de façon ou d'autre en le transformant en un ensemble de chaînes à affecter au tableau.