我正在尝试通过PHP运行一个非常简单的MSSQL更新语句,但是我收到一条错误消息“*将无效参数传递给sqlsrv_query。”*
这是我正在使用的connection class,最相关的是查询功能:
function query($query) {
$result = sqlsrv_query($query) or die( print_r( sqlsrv_errors(), true));
}
最后,这是我用来尝试执行语句的代码:
$db = new mssqlClass();
$conn = $db->connect();
$SQL = "UPDATE table SET Title = 'Test' where ID = 1"
$SQL = $db->query($SQL);
如果有人有任何建议我会非常感激,我猜这是连接类的问题,但我不确定。谢谢!
(编辑)在尝试编辑所有内容以便在此发布时,我不知何故错过了我的陈述中的“哪里”,唉!抱歉。不用说查询很好,并且在复制到SQL Server Studio Manager时执行没有任何问题。干杯
答案 0 :(得分:4)
我不喜欢回答我自己的问题,但是因为我最初提出这样一个问题,所以我希望这对谷歌看到这个问题的人有所帮助。
与mssql_query不同,较新的sqlsrv_query函数需要将连接参数作为第一个变量传入,如下所示:
$result = sqlsrv_query($this->connection, $query) or die( print_r( sqlsrv_errors(), true));
答案 1 :(得分:0)
我相信你错过了WHERE关键字。这是假设:
UPDATE table SET Title = 'Test' WHERE ID = 1
答案 2 :(得分:0)
尝试
UPDATE table SET Title = 'Test', ID = 1
你错过了逗号“,”
答案 3 :(得分:0)
我认为你正在尝试其中任何一个
UPDATE table SET Title = 'Test' WHERE ID = 1
OR
UPDATE table SET Title = 'Test', ID = 1
答案 4 :(得分:0)
这是一个旧解决方案:
$result = sqlsrv_query($this->connection, $query) or die( print_r( sqlsrv_errors(), true));
但是后来拯救了我两英里!