【问题标题】:I am trying to execute a procedure in CodeIgniter from SQL server, what am I doing wrong?我正在尝试从 SQL 服务器执行 CodeIgniter 中的过程,我做错了什么?
【发布时间】:2016-05-06 14:38:05
【问题描述】:

我正在尝试从我的 SQL 服务器数据库执行存储过程并使其打印一个列表,打印出来的最佳方法是什么?

这是我的模特:

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;
}
}

这是我的控制器:

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);
}
}

【问题讨论】:

  • 不知道SQL server 但是在Oracle中只有函数可以返回数据,程序只能操作数据。
  • 假设你的 sp dont need parameter, try $query = $this->db->query("exec spGetCategoriesByID()");`
  • $this->categories_model->get_categories()$this->load->model('categories_model')全部小写;并且类名只能在其文件名以及此处的第一个字母大写:class Categories_model extends CI_Model.
  • 谢谢,这绝对有帮助。我是在 php 中使用 mvc 样式框架的新手。所以我感谢您的帮助!

标签: php sql-server codeigniter


【解决方案1】:

尝试得到这样的错误:

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

【讨论】:

    猜你喜欢
    • 2018-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-27
    • 2018-10-23
    • 1970-01-01
    相关资源
    最近更新 更多