我们已经在CakePHP中运行MYSQL并开发了我们的应用程序,并且工作正常。 PHP版本是5.4.16,Apache 2.4.4,最新的XAMP。 CakePHP版本:2.3.0在执行某些MSSQL存储过程时cakephp中的问题
我们在MSSQL中也有类似的数据库。现在我们也想用这个MSSQL来运行我们的应用程序。
我们对此使用了php_pdo_sqlsrv_54_ts.dll和php_sqlsrv_54_ts.dll作为MSSQL驱动程序。它的SQL服务器2005年。
问题是,当我运行某些SQL Server存储过程时,cakephp什么也不运行。我可以在SQL分析器中看到存储过程调用的语法没问题,所有参数都是正确的。我还可以在Profiler中看到这个存储过程在SQL服务器上运行得非常好。但是cakephp没有显示任何东西。
对应的MySql例程工作正常,cakephp返回正确的数据。
这是PHP代码,其次是存储过程。
$getCoulmnsInfo =$this->Maintable->query('exec GetColumns_Information 0');
print_r($getCoulmnsInfo); // This prints nothing, $getCoulmnsInfo is empty
相应的SQL服务器存储过程是
ALTER PROCEDURE [dbo].[GetColumns_Information]
@GroupOverride midsys_boolean AS
IF (@GroupOverride = 1)
BEGIN SELECT columns_id, columns_columntypesid, columns_columnname,
columns_usercolumnname, 1 FROM ColumnsTable ORDER BY columns_id RETURN END
SELECT columns_id, columns_columntypesid, columns_columnname,
columns_usercolumnname, columns_columnsettings
FROM ColumnsTable
ORDER BY columns_id
现在,如果修改上面给下面然后正常工作,并返回正确的结果。基本上我删除了中间的几行。
ALTER PROCEDURE [dbo].[GetColumns_Information]
@GroupOverride midsys_boolean AS
SELECT columns_id, columns_columntypesid, columns_columnname,
columns_usercolumnname, columns_columnsettings
FROM ColumnsTable
ORDER BY columns_id
存储过程的另一个例子,它不工作。
ALTER PROCEDURE [dbo].[MainStatusesFlow_Next]
@MainID int AS
DECLARE @MainStatusesID int
SELECT @MainStatusesID = main_mainstatusesid
FROM MainTable
WHERE main_id = @MainID
IF EXISTS (SELECT * FROM MainStatusesTable MainStatuses INNER JOIN
MainStatusesFlowTable MainStatusesFlow ON MainStatuses.mainstatuses_id =
MainStatusesFlow.mainstatusesflow_nextstatusid WHERE
MainStatusesFlow.mainstatusesflow_statusid = 10)
BEGIN SELECT MainStatuses.mainstatuses_name FROM MainStatusesTable MainStatuses
INNER JOIN MainStatusesFlowTable MainStatusesFlow ON MainStatuses.mainstatuses_id =
MainStatusesFlow.mainstatusesflow_nextstatusid WHERE
MainStatusesFlow.mainstatusesflow_statusid = 10 RETURN END
SELECT mainstatuses_name, 1
FROM MainStatusesTable
WHERE mainstatuses_id = 10
再次,如果我删除中间部分,那么它的作品。
其余的存储过程非常好。
任何帮助将不胜感激。
干杯