4

PHP を使用して非常に単純な MSSQL 更新ステートメントを実行しようとしていますが、*「無効なパラメーターが sqlsrv_query に渡されました。」* というエラーが表示されます。

私が使用している接続クラスは次のとおりです。最も関連性の高いのはクエリ関数です

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 にコピーすると問題なく実行されます。乾杯

4

5 に答える 5

5

私は自分の質問に答えるのは好きではありませんが、最初にこの質問をすることをめちゃくちゃにしたので、これがGoogleからこれを見る人に役立つことを願っています。

mssql_queryとは異なり、新しいsqlsrv_query関数では、次のように、接続パラメーターを最初の変数として渡す必要があります。

$result = sqlsrv_query($this->connection, $query) or die( print_r( sqlsrv_errors(), true));
于 2012-05-25T14:33:48.820 に答える
0

私はあなたがこれのいずれかを試していると思います

UPDATE table SET Title = 'Test' WHERE ID = 1

また

UPDATE table SET Title = 'Test', ID = 1
于 2012-05-25T13:32:41.793 に答える
0

WHERE キーワードが欠落していると思います。それは言うと思いますか:

UPDATE table SET Title = 'Test' WHERE ID = 1

?

于 2012-05-25T13:30:14.727 に答える
0

試す

 UPDATE table SET Title = 'Test', ID = 1

コンマ「、」がありません

于 2012-05-25T13:30:37.630 に答える
0

これは古い解決策です:

$result = sqlsrv_query($this->connection, $query) or die( print_r( sqlsrv_errors(), true));

しかし、2 年後にマイルを節約できました。

于 2014-02-15T09:07:09.600 に答える