我有一个问题,我的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
。
确保您的脚本具有访问正确数据库的权限,否则表将不会发生任何变化。
因此,首先,建立到数据库的连接,然后指定包含您的表的数据库。
在您的设置中,在您的代码上方添加这一行。
$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));
对于每个值,用引号括起来,因为它们是字符串。
这里有关于如何编写代码的更多信息: