使用 Codeigniter 执行存储过程的问题
Issues in executing Stored Procedure with Codeigniter
我正在使用 Codeigniter 版本 3.1.10 并使用 SQLSRV 作为数据库驱动程序
我一直在尝试使用 Codeigniter 执行存储过程
我的存储过程查询是
$sp = "SP_AffniGetReports @startdate=?,@enddate=?,@interval=?,@device_id=?,@limit=?,@offset=?";
$params = array($from_date,$to_date,$rpt_time_interval,$meter_id,$offset,$limit);
$result = $this->db->query($sp,$params,false);
$result = $this -> db -> get();
出现这个错误
[Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Must specify table to select from.
SELECT *
检查上述错误后,我打印了 Codeigniter 生成的存储过程查询,我得到了
SP_AffniGetReports @startdate='2019-06-21 12:00:01',@enddate='2019-06-27 11:05:59',@interval='60',@device_id='101',@limit=0,@offset='30'
作为编译查询!
我已经尝试了所有修改,例如在过去 2 天的查询和引用中使用 "EXEC"、"CALL"。但是我无法执行存储过程。
现在我尝试 运行 使用正常 PHP 脚本使用 SQLSRV 执行相同的查询,已执行存储过程。我的 PHP 脚本是
$procedure_params = array('2019-06-10 00:00:01','2019-06-27 00:00:59','1','101','0','30');
$sql = "EXEC SP_AffniGetReports @startdate=?,@enddate=?,@interval=?,@device_id=?,@limit=?,@offset=?";
$stmt = sqlsrv_prepare($conn, $sql, $procedure_params);
我得到了结果!但是我找不到 Codeigniter 的存储过程的问题
找到我的语法错误导致此问题的原因。代码应该是
$query = $this->db->query($sp,$params,false);
$result = $query->result();
By using $result = $this -> db -> get(); Codeigniter is trying to create new query along with Stored Procedure. This the cause of my issue.
我正在使用 Codeigniter 版本 3.1.10 并使用 SQLSRV 作为数据库驱动程序
我一直在尝试使用 Codeigniter 执行存储过程 我的存储过程查询是
$sp = "SP_AffniGetReports @startdate=?,@enddate=?,@interval=?,@device_id=?,@limit=?,@offset=?";
$params = array($from_date,$to_date,$rpt_time_interval,$meter_id,$offset,$limit);
$result = $this->db->query($sp,$params,false);
$result = $this -> db -> get();
出现这个错误
[Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Must specify table to select from.
SELECT *
检查上述错误后,我打印了 Codeigniter 生成的存储过程查询,我得到了
SP_AffniGetReports @startdate='2019-06-21 12:00:01',@enddate='2019-06-27 11:05:59',@interval='60',@device_id='101',@limit=0,@offset='30'
作为编译查询!
我已经尝试了所有修改,例如在过去 2 天的查询和引用中使用 "EXEC"、"CALL"。但是我无法执行存储过程。
现在我尝试 运行 使用正常 PHP 脚本使用 SQLSRV 执行相同的查询,已执行存储过程。我的 PHP 脚本是
$procedure_params = array('2019-06-10 00:00:01','2019-06-27 00:00:59','1','101','0','30');
$sql = "EXEC SP_AffniGetReports @startdate=?,@enddate=?,@interval=?,@device_id=?,@limit=?,@offset=?";
$stmt = sqlsrv_prepare($conn, $sql, $procedure_params);
我得到了结果!但是我找不到 Codeigniter 的存储过程的问题
找到我的语法错误导致此问题的原因。代码应该是
$query = $this->db->query($sp,$params,false);
$result = $query->result();
By using $result = $this -> db -> get(); Codeigniter is trying to create new query along with Stored Procedure. This the cause of my issue.