はじめまして、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ランキング
-
読み(あ行~わ行)ごとに分け...
-
CArrayの要素としてCStringArra...
-
C言語の配列をPush(追加)する...
-
forとかで連番の変数を一気に格...
-
行列
-
配列の要素(value)に、変数を...
-
濁点のソート
-
foreachの実行結果について
-
STLのvectorで作った配列をメン...
-
array(array()); 多次元配列初...
-
php で1から100までの素数の表...
-
pg_copy_fromの使い方について...
-
一度に複数の値を取得できる乱...
-
特定の文からメールアドレスの...
-
Smartyでインクリメント
-
PHPでCSVの一部の行を編集したい
-
rubyで複数列のデータを一行に...
-
多次元配列の中で条件に合う要...
-
ヒアドキュメントの中のfor文
-
配列をループでたくさん宣言し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラミングのPythonのnoteb...
-
C言語の配列をPush(追加)する...
-
php で1から100までの素数の表...
-
STLのvectorで作った配列をメン...
-
スカラーのベクトル微分
-
行列
-
Perlで重複行を削除したい
-
配列の要素(value)に、変数を...
-
特定の文からメールアドレスの...
-
forとかで連番の変数を一気に格...
-
C言語 最大値と最小値を求めて...
-
CArrayの要素としてCStringArra...
-
PHPでユニークIDを作る
-
fgetc関数について
-
読み(あ行~わ行)ごとに分け...
-
Pager::factory()の使い方がわ...
-
verilogで、配列の一部をタスク...
-
mallocで char *型の配列を確...
-
c言語 単位行列
-
連想配列で値が空だったら、要...
おすすめ情報