我遇到了一個問題,即我的PHP sqlsrv UPDATE語句運行並且不會返回任何錯誤,但數據庫中的任何內容都不會更改,且該行實際上未更新。有什麼我缺少,這將允許此查詢看起來成功運行,但不更新行?sqlsrv UPDATE語句運行但不更新數據庫
我檢查到更新語句在SQL服務器管理工作室中運行,並更新該行。
$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));
}
難道是你的where子句沒有匹配的行嗎?在調用'sqlsrv_execute'後,嘗試調用'sqlsrv_rows_affected($ visitClose)'查看'UPDATE'語句影響了多少行。 –
你是否知道***你有一個'VisitID' =''3679061'的記錄? *(沒有拼寫錯誤,沒有不匹配的數據類型?)* – MatBailie
另外,將db和schema名稱添加到語句中的對象,如MAIN.dbo.tblvisit或其他類似的。 –