PHPでDBの複数行更新について
はじめまして、PHPを最近使い始めました初心者です。
[環境]
PHP: 5.4.7
DB: SQLite 3.7.15.2 a
OS: Windows 7
DB上のテーブルへ複数行を挿入するソースを書いてますが
下記の文法エラーとなり行き詰っています。
[配列データとソース]
Array
(
[0] => Array
(
[0] => 1359904500
[1] => 1359905400
[2] => 150
)
[1] => Array
(
[0] => 1359990900
[1] => 1359991800
[2] => 150
)
[2] => Array
(
[0] => 1360077300
[1] => 1360078200
[2] => 150
)
[3] => Array
(
[0] => 1360163700
[1] => 1360164600
[2] => 150
)
以下100件ほど続きます
$sql1 = "INSERT INTO aaa (id,sstamp,estamp,data,flag) VALUES " ;
$flag = 1;
$count = count($time_array) ;
for ( $i=1; $i< $count; $i++ ) {
$sql1.= "(null,'".$time_array[$i][0]."',"."'".$time_array[$i][1]."',"."'".$time_array[$i][2]."',"."'".$flag."')," ;
}
$sql1 = substr($sql1, 0, -1) ;
var_dump($sql1) ;
$result = $db->query($sql1) ;
[エラー]
Warning: SQLite3::query(): Unable to prepare statement: 1, near ",": syntax error
var_dumpでsql作成用変数($sql1)を見てみると問題ないように見えました。
解せないのは、変数内容をsqliteのコマンドラインへコピぺすると
正常に挿入できてしまいました。また配列を一つにしてみるとエラーなくDB挿入できました。
これよりSQL複数行挿入のvalue以下の記述が怪しいと思い、確認しましたが (aa, bb, cc), (dd, ee, ff)になっているようと思えます。
どこに問題があるかご教示をお願いいたします。
補足
1コだけでもフリーズしました。 <検索条件(複数行モード)> .*Array <置換条件> Array としたのですが。。。 PerlをDOS窓ででできないかと思い、Perlを勉強してますが、 そもそもファイルの受け渡しがわかりません。 以下のようなイメージで考えてますが、できるのでしょうか。 <convert.batの中身> convert.pl %1 convert.batファイルに変換ファイル群をフォルダごとドラッグすると、convert.plが実行されて、別フォルダにコンバートされたファイルがディレクトリ階層もそのままに出力される。 みたいなことができればいいのですが・・・