Call stored procedure from php codeigniter Call stored procedure from php codeigniter codeigniter codeigniter

Call stored procedure from php codeigniter


Glad to say that I will maintain my job.

Here goes the post that solved my problem.Remembering I'm working with codeigniter on php and mssql database:

In model:

public function execute_sp($var1 = NULL,$var2 = NULL, $var3 = NULL, $var4 = NULL, $var5 = NULL, $var6 = NULL, $var7 = NULL, $var8 = NULL, $var9 = NULL, $var10 = NULL){$sp = "stored_procedure_name ?,?,?,?,?,?,?,?,?,? "; //No exec or call needed//No @ needed.  Codeigniter gets it right either way$params = array('PARAM_1' => NULL,'PARAM_2' => NULL,'PARAM_3' => NULL,'PARAM_4' => NULL,'PARAM_5' => NULL,'PARAM_6' => NULL,'PARAM_7' => NULL,'PARAM_8' => NULL,'PARAM_9' => NULL,'PARAM_10' =>NULL);$result = $this->db->query($sp,$params);

In controller:

$var1 = 'value';$var2 = 'value';$var3 = 'value';$var4 = 'value';$var5 = 'value';$var6 = 'value';$var7 = 'value';$var8 = 'value';$var9 = 'value';$var10 = 'value';$this->model->sp($var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, $var10);

It works!

source that helped so much: Issue executing stored procedure from PHP to a Microsoft SQL SERVER reply from user @Ulises Burlando


I solved like this.

I'm using PDO driver.

simple_query method is returning PDOStatement Object and one important point SET NOCOUNT ON

class Pump_Model extends CI_Model{    public function getPumpStatisticSpById($pumpId)    {        $result = $this->db->simple_query("SET NOCOUNT ON                             DECLARE @return_value int                            EXEC    @return_value = [dbo].[spPumpStatistics]                                    @PumpID = $pumpId")->fetch(PDO::FETCH_OBJ);        return $result;    }}


function () {    $query = $this->db->query("EXEC USP_RoughBlockStockRegister'08/23/2017','08/23/2017',1,1");    return $query->result();}