SQL クエリ (Transact SQL) を実行している PHP コード (PHP 5) に行き詰まっています。
コード(動作していません):
$query = "
UPDATE my_table
SET my_column = 'some_value'
WHERE my_id IN (?);" // does not work :-(
sqlsrv_query($my_connection, $query, array('abc', 'def', 'ghi')); // does not work :-(
私がやろうとしていること: my_id が abc、def、ghi に等しい行の my_column の my_table を更新します。
ただし、パラメーターなしで同じ SQL クエリを作成すると (これは機能します):
$query = "
UPDATE my_table
SET my_column = 'some_value'
WHERE my_id IN ('abc', 'def', 'ghi');" // works :-)
sqlsrv_query($my_connection, $query); // works :-)
このように sqlsrv_query コマンドを実行しようとしました
sqlsrv_query($my_connection, $query, array('abc', 'def', 'ghi'));
そしてこのように
sqlsrv_query($my_connection, $query, array(array('abc', 'def', 'ghi')));
そしてこのように
sqlsrv_query($my_connection, $query, 'abc', 'def', 'ghi');
それらのどれも機能しません。
誰か助けてくれませんか?説明書をよく読んだ。そして、このようにSQLを書きます
... WHERE my_id IN (?,?,?)...
私の配列には可変量の値が含まれるため、オプションではありません!
ありがとうございました!