Ich freue mich sagen zu können, dass ich meinen Job behalten werde.
Hier ist der Beitrag, der mein Problem gelöst hat. Zur Erinnerung, ich arbeite mit Codeigniter an einer PHP- und MSSQL-Datenbank:
Im Modell:
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);
Im 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);
Es funktioniert!
Quelle, die so sehr geholfen hat:Geben Sie die Ausführung einer gespeicherten Prozedur von PHP an einen Microsoft SQL SERVER aus Antwort von Benutzer @Ulises Burlando