我需要在参数化查询中传递一个字符串数组。我尝试了以下方法,但它根本不起作用。
$params = array( array('bob','andrew','larry') );
pg_query_params($conn, 'SELECT * FROM table1 WHERE field = ANY($1)', $params)
我已经看到将数组转换为字符串然后使用 string_to_array 将输入转换为数据库端的数组的解决方案,但是由于这些字符串是从用户输入的,即使我使用了分隔符而不是逗号。如果可能的话,我宁愿为此使用更清洁的解决方案。
有没有办法让这个查询参数化并将一个数组传递给它,而无需将数据转换为字符串?
顺便说一句,我使用的是 PostgreSQL 8.3