2017-09-14 72 views
0

我熟悉mysql服務器,現在試着學習postgresql。Codeigniter發送數據/參數到PostgreSQL

我控制器

$data = array(
    'name' => $_POST['name'], 
); 
$insert = $this->db->save($data); 

我的模型

public function save($data){ 
     $sp = "insert ?"; 
     $result = $this->db->query($sp,$data); 
     return $this->db->affected_rows(); 
    } 

我'嘗試:

之前,我使用MSSQL存儲過程 樣品從CI保存/更新數據要實現該代碼來調用postgresql函數,但它給我錯誤l IKE在此

ERROR: syntax error at or near "insert" LINE 1: insert E'name'

這是我的PostgreSQL的功能

CREATE OR REPLACE FUNCTION insert(name varchar(50)) RETURNS refcursor AS $$ 
DECLARE 
    nama varchar(50); 
BEGIN 
    INSERT INTO dt_anggota VALUES(nama); 
END; 
$$ LANGUAGE PLPGSQL; 

請告訴我錯我的代碼或我的功能?

謝謝

+0

你就不能是這樣的:-'public功能保存($數據){ \t $結果= $ this-> db-> insert('在此提供表名,$ data); \t return $ this-> db-> affected_rows(); }' –

+0

@AlivetoDie我需要發送參數來存儲過程/函數,因爲它不只保存名稱和我放在函數中的操作 – ian

回答

0

我已經找到了解決辦法 我的代碼是這樣的

$sp = "select 'function_name' (?)"; 
$result = $this->db->query($sp,$data); 
return $this->db->affected_rows();