Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CakePHP中sqlserver.php中update()函数中的问题_Php_Sql Server_Cakephp_Cakephp 2.0_Cakephp Model - Fatal编程技术网

CakePHP中sqlserver.php中update()函数中的问题

CakePHP中sqlserver.php中update()函数中的问题,php,sql-server,cakephp,cakephp-2.0,cakephp-model,Php,Sql Server,Cakephp,Cakephp 2.0,Cakephp Model,我们已经在CakePHP中开发了我们的应用程序,该应用程序使用MYSQL运行,运行良好。PHP版本是5.4.16,Apache 2.4.4,最新的XAMP。CakePHP版本:2.3.0 我们已经在MSSQL中有了类似的数据库。现在我们还想用这个MSSQL运行我们的应用程序 我们正在为MSSQL驱动程序使用php_pdo_sqlsrv_54_ts.dll和php_sqlsrv_54_ts.dll。它的sql server 2005 每当我们更新表中的值时,我们都使用Model.Php的Updat

我们已经在CakePHP中开发了我们的应用程序,该应用程序使用MYSQL运行,运行良好。PHP版本是5.4.16,Apache 2.4.4,最新的XAMP。CakePHP版本:2.3.0

我们已经在MSSQL中有了类似的数据库。现在我们还想用这个MSSQL运行我们的应用程序

我们正在为MSSQL驱动程序使用php_pdo_sqlsrv_54_ts.dll和php_sqlsrv_54_ts.dll。它的sql server 2005

每当我们更新表中的值时,我们都使用Model.Php的UpdateAll(),它进一步调用相应数据源的update()。我们的代码是这样的

if ($this->Configurationtable->updateAll(array('Configurationtable.configuration_optionsetting' => $limit ),
array('Configurationtable.configuration_optionname =' => $optionName))) { 
     $this->Session->setFlash('The Result Limit has been updated'); 
     $this->redirect(array('action' => 'edit')); 
} else
{ 
     $this->Session->setFlash('The configuration could not be saved. Please, try again.'); 
}
现在,这在MySql中运行良好,并生成以下更新查询

UPDATE ipa.configurationtable AS Configurationtable SET Configurationtable.configuration_optionsetting = 12 WHERE Configurationtable.configuration_optionname = 'searchPaginationLimit'
但在MS Sql Server中,它失败并生成完全错误的查询,这是错误的

 SELECT [Configurationtable].[id] AS [Configurationtable__id] FROM [configurationtable] AS [Configurationtable] WHERE [Configurationtable].[configuration_optionname] = N'searchPaginationLimit'
现在,如果我使\lib\Cake\Model\Datasource\Database\Sqlserver.php中的Update()函数类似于\lib\Cake\Model\Datasource\Database\Mysql.php中的Update(),那么它就可以正常工作。它生成正确的“更新”查询

我不明白为什么会这样?是我做错了什么,还是蛋糕上有虫子

任何版本都会有很大帮助。

我会的,但首先确保升级到最新版本不会解决您的问题。另请参阅