私はPHPからのクエリを準備しようとしています:
pg_prepare($con, "prep", "select * from test where tid in ($1)");
次にそれを実行します:
$strpar = "3,4,6,8,10";
pg_execute($con, "prep", array($strpars));
問題は、prepareが固定数のパラメーターを想定しているため、構築された一連の値を渡すことができないことです。パラメータを動的にする方法はありますか?
配列を使用して一連の値を表します。
pg_prepare($con, "prep", "select * from test where tid=ANY($1::int[])");
$strpar = "{3,4,6,8,10}";
pg_execute($con, "prep", array($strpars));
クエリ内のint[]
へのキャストは、プランナがそれ自体で型を推測できる場合は、不必要になることもあります。