如何在codeigniter中选择存储过程函数genereteID?

时间:2016-03-28 21:52:10

标签: php function codeigniter stored-procedures mysqli

我想创建一个生成的ID来使用函数存储过程,但我很困惑如何使用CodeIgniter显示generete ID。

存储过程函数'PenjualanGenIdFunc'中的Generete ID:

BEGIN
DECLARE kodebaru CHAR(15);
DECLARE urut INT;
SET urut = IF(nomer IS NULL, 1, nomer + 1);
SET kodebaru = CONCAT("PJL", LPAD(urut, 12, 0));
RETURN kodebaru;
END

我用代码调用模型:

function getKodePenjualan(){
    $query = $this->db->query("select PenjualanGenIdFunc('kodebaru') AS kodepenjualan");
    return $query->row_array();
}
控制器中的

$data['kodepenjualan'] = $this->mwebsite->getKodePenjualan();

并在视野中:

<?php echo $kodepenjualan['kodepenjualan'];?>

从上面的代码中,生成ID已经显示代码:PJL000000000001,但是当我再次购买时。代码不是PJL000000000002,PJL000000000003等。

如何为generete id调用存储过程函数? 请帮帮我

1 个答案:

答案 0 :(得分:0)

首先,如果你想打电话给SP,你需要像这样打电话

$ this-&gt; db-&gt; query(“call PenjualanGenIdFunc()”);

在您的SP中,您必须拥有类似的内容

创建程序My_Insert 开始     INSERT INTO My_Table(col1)     VALUES(@ col1)

SELECT @new_identity = SCOPE_IDENTITY()

SELECT @new_identity AS id

RETURN

END

但如果您想使用CI插入最后一个ID,则可以使用

$ this-&gt; db-&gt; insert('table',array('value1'=&gt; $ value1));

返回$ this-&gt; db-&gt; insert_id();