![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
はじめまして、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)になっているようと思えます。
どこに問題があるかご教示をお願いいたします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
解決出来なかったラ御免なさいね。
syndaxエラーって出ていますが、★の右にある「,」っていりますか?
$sql1.= "(null,'".$time_array[$i][0]."',"."'".$time_array[$i][1]."',"."'".$time_array[$i][2]."',"."'".$flag."')★," ;
この回答への補足
ご回答ありがとうございます。
INSERTの複数行構文では、INSERT INTO tbl (c1,c2) VALUES (data1,data2), (data3,data4)のため★の右にある「,」は必要です。ちなみに外して試してもみましたが、やはりSQLite3::query(): Unable to prepare statement: 1, near "("となります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPでCSVを出力するさいに、ループの中で前の行の値を変更したい 3 2022/10/27 17:44
- C言語・C++・C# c言語の問題です 課題1 (二分探索木とセット) 大きさ size の配列 array を考える。す 2 2023/01/10 21:08
- PHP ランキングを表示する際の画像の大きさを固定することは可能でしょうか? <?php if ( has_ 1 2022/07/21 14:55
- PHP PHP MySql ページング 2 2022/09/20 06:38
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- PHP ファイルの書き込みについて教えて下さい。 1 2023/03/20 12:01
- Visual Basic(VBA) Sheet3から2つの条件でオートフィルターで抽出した個数をSheet2へ入力するマクロで、一つ目の 4 2023/01/12 23:40
- その他(プログラミング・Web制作) listへのappendが出来ない件 1 2022/12/06 21:44
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
fgetc関数について
-
PHPについて教えて下さい。
-
C言語の配列をPush(追加)する...
-
2次元配列のソート
-
プログラミングのPythonのnoteb...
-
C言語で全角文字の扱いについて
-
PHPに関する質問です
-
CArrayの要素としてCStringArra...
-
どのような関数名を付けるべき...
-
読み(あ行~わ行)ごとに分け...
-
foreachの実行結果について
-
配列から値を取得する方法。
-
PHPによる並べ替え(ソーティン...
-
配列の比較
-
行列の計算【配列 関数】
-
配列を返す関数から、一つの要...
-
テキストエリアに入力した複数...
-
Perlで重複行を削除したい
-
配列内の値を分解して再格納
-
PHPでユニークIDを作る
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラミングのPythonのnoteb...
-
スカラーのベクトル微分
-
特定の文からメールアドレスの...
-
CArrayの要素としてCStringArra...
-
C言語 最大値と最小値を求めて...
-
行列
-
読み(あ行~わ行)ごとに分け...
-
配列の要素(value)に、変数を...
-
C言語の配列をPush(追加)する...
-
STLのvectorで作った配列をメン...
-
php で1から100までの素数の表...
-
【PHP】配列のキー名の修正は可...
-
Perlで重複行を削除したい
-
fgetc関数について
-
CArrayのソート
-
ファイルの書き込みについて教...
-
配列の添え字が小数だとどうなる?
-
PHPのmin関数、「1」以上の数値...
-
forとかで連番の変数を一気に格...
-
delphi 2次元配列がわかりません
おすすめ情報