Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Chame o procedimento armazenado do php codeigniter


Fico feliz em dizer que vou manter meu emprego.

Aqui vai o post que resolveu meu problema. Lembrando que estou trabalhando com codeigniter em banco de dados php e mssql:

No modelo:
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);

No controlador:
$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);

Funciona!

fonte que ajudou muito:Problema ao executar o procedimento armazenado do PHP para um Microsoft SQL SERVER resposta do usuário @Ulises Burlando