2017-12-08 22 views
0

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).")"; 
+0

の可能性のある重複した[オペレータのSQLとPHPの配列を使用するには?](https://stackoverflow.com/questions/9618277/how-to-use-php-array-with-sql-オペレータで) –

+0

私はここで少し混乱しています。 $ 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 –

答えて

関連する問題