2012-09-29 51 views

回答

2

我不认为你可以使用CodeIgniter,因为它是特定于Oracle数据库。有两种方法可以解决此问题。

  1. 你总是可以使用纯PHP来完成这种任务。
  2. 你可以尝试用$this->db->call_function();description is available on the CI user guide here
0

运行该命令在参考该建议使用$this->db->call_function('an_oracle_function()');这不符合的Oracle 11g的工作答案。尝试和测试。我认为Vlakarados提到的更好的选择是使用纯PHP。

0

试试这个模型中,这个工作对我来说:

if (!$this->db) { 
    $m = oci_error(); 
    trigger_error(htmlentities($m['message']), E_USER_ERROR); 
} 

$stid = oci_parse($this->db->conn_id, 'BEGIN PROCEDURE_NAME(:PARAMETER_1,:PARAMETER_2,:OUT_MESSAGE); end;'); 

oci_bind_by_name($stid, ':PARAMAETER_1', $PARAMAETER_1,200); 
oci_bind_by_name($stid, ':PARAMETER_2', $PARAMETER_2,200); 
oci_bind_by_name($stid, ':OUT_MESSAGE', $OUT_MESSAGE ,100, SQLT_CHR); 

if(oci_execute($stid)){ 
    $results = $OUT_MESSAGE; 
} 
oci_free_statement($stid); 
oci_close($this->db->conn_id); 

return $results; 
相关问题