2012-09-29 48 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; 
相關問題