連想配列
(
[name] => "山田"
[age] => "23"
[comment] => "コメント"
)
があります。
各配列を分け、配列名をカラム名、値をそのカラムに挿入する値としてデータベースに登録したいのですが、セキュリティ上単に INSERT INTO hatena (...) VALUES ($array[name]) とはせず、adodbを利用し、 "INSERT INTO....", array($array..) としたいとかんがえています。
ただ、動的なため幾つのカラムにいくつのデータを挿入するか予測できません。従って自動的にSQLを作成し、(上の配列であれば insert into hatena ('name', 'age', 'comment') values (?,?,?))その後、各配列を変数に代入し、SQLを実行できるような形にしたいと考えています。
よろしくお願いします。
array_values() でその連想配列のキーのリストを得るー>カラム名を作成
カラム名を引用符を付けカンマで連結する時に、?も(別の変数にでも)カンマで連結
または、キーのリストの要素数から?を連結
で、これらを使って SQL を生成すればよいのでは?
array_values() を使わずに、foreach で全部の要素のキーと値を使って SQL を作るのもそれほど面倒ではなさそうな...
回答者 | 回答 | 受取 | ベストアンサー | 回答時間 | |
---|---|---|---|---|---|
1 | yc24 | 5回 | 4回 | 0回 | 2009-01-10 22:19:39 |
一通りコードを書いていただけると助かります。