SO でこのコードを見つけました。これは、PDO ステートメントと IN() ステートメントを一緒に使用するのに最適です。
リーリーしかし、クエリに他のものを混ぜて次のようにするにはどうすればよいですか:
リーリーこれでうまくいくと思ったのですが、次のような結果になりました:
警告: PDOStatement::execute() [pdostatement.execute]: SQLSTATE[HY093]: 引数の数が無効です: バインド変数の数が 3 行目のタグの数と一致しません ($ stm 行)
期待どおりに動作させる方法はありますか?
Update が配列に対して実行されますが、まだ機能しません。..
ここでの問題は、
execute
には 単一の 配列が必要であるということです。複数の配列を渡すことはできません。さらに悪いことに、配列をネストすることもできません。完璧な
リーリー$values
配列がすでにあるので、プレースホルダー文字列を作成した後、それを再利用しましょう。###解決###
$valuesが配列の場合、これは機能するはずです:
execute()リーリー
イラストパラメータ (この場合は配列) が必要です。
ここでデモをご覧ください:
http://ideone.com/RcClXarray_merge($values, array($product))
を追加すると、配列が作成され、最後に$product
が追加されるため、クエリは正常に機能します。