我被一段 PHP 代码(PHP 5)困住了,我在其中运行 SQL 查询(Transact SQL)。
代码(不起作用):
$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 (?,?,?)...
不是一个选项,因为我的数组将包含可变数量的值!
谢谢!