2016-05-06 5 views
1

Ich versuche, die gespeicherte Prozedur von meiner SQL-Server-Datenbank auszuführen und es eine Liste drucken zu lassen, was ist die beste Möglichkeit, es auszudrucken?Ich versuche eine Prozedur in CodeIgniter vom SQL Server auszuführen, was mache ich falsch?

Das ist mein Modell:

class Categories_Model extends CI_Model 
{ 
public function __construct() 
{ 
    parent::__construct(); 
} 

function get_categories() 
{ 
    $sql = 'exec spGetCategoriesByID'; 
    $query = $this->db->query($sql); 
    $result = $query->result(); 
    return $result; 
} 
} 

Das ist mein Controller ist:

class Categories_Controller extends CI_Controller 
{ 
public function __construct() 
{ 
    parent::__construct(); 
    $this->load->helper('url'); 
    $this->load->database(); 
} 

public function categories_list() 
{ 
    $this->load->model('Categories_Model'); 
    $cat_result = $this->Categories_Model->get_categories(); 
    $data['catlist'] = $cat_result; 
    $this->load->view('categories',$data); 
} 
} 
+0

Sie nicht über SQL Server kennen, sondern in Nur Oracle-Funktionen können Daten zurückgeben, Prozeduren können nur Daten bearbeiten. – MonkeyZeus

+0

gehe davon aus, dass deine sp keine Parameter benötigt, probiere $ query = $ this-> db-> query ("exec spGetCategoriesByID()"); ' – elddenmedio

+0

' $ this-> categories_model-> get_categories() 'und' $ this-> load-> model ('categories_model') 'sollte in ** alle Kleinbuchstaben geschrieben werden **; und der Klassenname sollte nur den FIRST-Buchstaben haben, der in seinem Dateinamen sowie hier großgeschrieben wird: 'class Categories_model extends CI_Model'. – Sparky

Antwort

0

versuchen, den Fehler wie folgt erhalten:

$query = $this->db->query($sql); 
echo 'Error #'.$this->db->_error_number().': '.$this->db->_error_message(); 
die(); 
Verwandte Themen