如何使用 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
。
我正在使用 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
。