【问题标题】:Error: Return empty array result when executed stored procedure SQL Server 2016 by Code Igniter错误:Code Igniter 执行存储过程 SQL Server 2016 时返回空数组结果
【发布时间】:2018-05-28 03:06:24
【问题描述】:

在 SQL Server 上使用 CodeIgniter 执行存储过程时遇到问题。 在服务器 SQL 上,我执行了存储并且它工作,返回结果(1 行)。

执行存储时的结果:

但我使用 CI,它返回一个空结果。

我尝试使用具有相同配置的 CI 使用 SQL 命令到服务器,并且效果更好。像服务器一样返回结果。并且商店不工作。

请帮助我。

【问题讨论】:

  • 而不是粘贴IDE的截图。将您的代码和输出放在问题描述中,并用代码荧光笔或表格块包装。

标签: php sql-server stored-procedures codeigniter-3


【解决方案1】:

我对此有答案。

我在我存储的 BEGIN 之后在下面添加一行代码

SET NOCOUNT ON

它奏效了。

【讨论】:

    【解决方案2】:

    您是否尝试过这样做:

    型号

      public function get_table_data($param){ 
        $query = $this->db->query('exec my_procedure "'.$param['id'].'"');
        return $query->result_array();
      }
    

    控制器

    public function table_data()    {
        $data = $this->My_Model->get_table_data(array(
          'id' => trim($this->input->post('my_id'))
        ));
        echo json_encode($data);    
    }
    

    还应首先检查您的 database.php 是否在 odbcsqlsrv

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      • 1970-01-01
      • 1970-01-01
      • 2015-11-02
      • 2023-04-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多