sqlsrv UPDATE语句运行,但不更新数据库


sqlsrv UPDATE statement runs but doesn't update DB

我有一个问题,我的PHP sqlsrv UPDATE语句运行,不返回任何错误,但数据库中没有任何变化,行实际上没有更新。是否有我错过的东西,将允许此查询似乎成功运行,但不更新行?

我已经检查了更新语句在SQL server管理工作室运行,它更新了行。

$visitquery = "UPDATE tblVisit SET CalledInBy='WINNER' WHERE VisitID='3679061'";            
                    $visitClose = sqlsrv_prepare($connect,$visitquery);
                    if( sqlsrv_execute( $visitClose))
                        {
                              echo "Statement executed.'n <br />";
                        }
                        else
                        {
                             echo "Error in executing statement.'n";
                             die( print_r( sqlsrv_errors(), true));
                        } 

谢谢@JonathanAmend

sqlsrv_begin_transaction被打开,但没有呼叫sqlsrv_commit

http://www.php.net/manual/en/function.sqlsrv-commit.php

确保您的脚本具有访问正确数据库的权限,否则表将不会发生任何变化。

因此,首先,建立到数据库的连接,然后指定包含您的表的数据库。

在您的设置中,在您的代码上方添加这一行。

$connect = sqlsrv_connect(server format goes here,array("Database"=>name of database containing tblVisit in quotes goes here,"UID"=>username to access database goes here,"PWD"=>password to access database goes here));

对于每个值,用引号括起来,因为它们是字符串。

这里有关于如何编写代码的更多信息: