sqlsrv UPDATE语句运行但不更新DB

时间:2014-05-19 14:33:55

标签: php sql sql-server sqlsrv

我遇到一个问题,即我的PHP sqlsrv UPDATE语句运行并且没有返回任何错误,但DB中的任何内容都没有更改,并且该行实际上没有更新。是否有我遗漏的东西会让这个查询看起来成功运行但不更新行?

我已检查过更新语句是否在SQL server management studio中运行,它会更新该行。

$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));
                        } 

2 个答案:

答案 0 :(得分:2)

谢谢@JonathanAmend

sqlsrv_begin_transaction已打开,但未拨打sqlsrv_commit

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

答案 1 :(得分:0)

确保您的脚本有权访问正确的数据库,否则表格不会发生任何事情。

首先,建立与数据库的连接,然后指定包含表的数据库。

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

$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));

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

有关如何在此处制作代码的更多信息:

See this (at php.net)