如何使用 SQL 服务器在 CodeIgniter 中调用存储过程

How to call a stored procedure in CodeIgniter USING SQL SERVER

我正在使用 Codeigniter 和 SQL 服务器构建我的应用程序作为我的数据库(我正在使用 SQLSRV PHP 扩展连接到 SQL )。当我尝试调用存储过程时出现问题:

$query = $this->db->query(
          "EXECUTE verificacion_fechas '".$codigo."',".$estado.",'".$llave_maestra."','".$fecha_actual."'"); 

我尝试使用较少数据创建查询的另一种方法如下,但是,它生成错误:

Error Number: 01000 [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Ejecutando SQL directamente, sin cursor. EXECUTE provando15 34,2,'key05','2015-07-22'

我真的不知道我做错了什么。有人可以帮我吗?

删除“执行”一词,它将起作用。

$query = $this->db->query(
      "verificacion_fechas '".$codigo."',".$estado.",'".$llave_maestra."','".$fecha_actual."'");

这是一个关于如何在 codeigniter

中调用 MYSQL 存储过程的示例
$this->db->query('CALL procedure_name());

这是我的解决方案:

第一种方式(如果不使用变量);

$query=$this->MSSQL->query("EXEC ProcedureName");

第二种方式(如果使用变量);

$query =$this->MSSQL->query("EXEC ProcedureName '$var1','$var2','$var3' ");

$query =$this->MSSQL->query("EXEC ProcedureName @varName1='$var1',@varName2='$var2',@varName3='$var3' ");

注意:如果您得到类似空数组的结果,请在您的过程中的 BEGIN 之后添加 SET NOCOUNT ON