SQL stmtの引数としてPHP配列をバインドしようとしています。Postgres IN句のパラメータとしてPHP配列を使用する
$php_array = ['first', 'second', 'third']
$db->fetchColumn("SELECT * FROM my_table WHERE column IN (:php_array), ['php_array' => $php_array])"
はそれを行う方法はあります:私は、それは次のようになりますので、auraSQLはPDOを拡張使用していますか?私はどのように見つけることができません。私は$php_array
をカンマで区切られた文字列として追加しようとしましたが、引用符で囲まれていますが動作しません。
EDIT:ソリューションはそうのようなAuraSql機能quote
を使用していた:
$db->fetchColumn("SELECT * FROM my_table WHERE column IN (".$db->quote($php_array).")";
の可能性のある重複した[オペレータのSQLとPHPの配列を使用するには?](https://stackoverflow.com/questions/9618277/how-to-use-php-array-with-sql-オペレータで) –
私はここで少し混乱しています。 $ dbはExtendedPdoのオブジェクトですか?その場合、私はあなたが照会し、準備されたステートメントを取得し、次に 'fetchColumn'を呼び出す必要があると思いますか? 'fetchColumn'自体のラッパーはないので、これは失敗すると予想されます。 https://github.com/auraphp/Aura.Sql/blob/3.x/src/AbstractExtendedPdo.phpとhttps://github.com/auraphp/Aura.Sql/blob/3.x/src/ExtendedPdoを参照してください。 .php –