こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

PerlでSQLiteのデータテーブルを作成し

PerlでSQLiteのデータテーブルを作成し、作成したテーブルへデータを追加するようにしたいのですが、

下記のように作成し、実行すると、
テーブルの作成のみ、もしくは、既存のテーブルへのデータの追加のみは可能なのですが、
両方処理させると、テーブルの作成のみされて、作成されたテーブルの中身はカラのままです。

#データベースに接続
$dbh = DBI->connect("dbi:SQLite:dbname=c:\\database\\tyumon.db");
open (DATA,"c.dat");
$data = <DATA>;
close(DATA);
$data = $data+1;

$table = "user";
$table .= $data;
#テーブル作成実行
$hst = $dbh->do("CREATE TABLE '$table'(name text,area text,tel text,mail text,jikan text, hoka text)");

#レコードの追加(INSERT文の実行)
$st = $dbh->do("insert into '$table' values('$data','$name','$area','$tel','$mail','$jikan','$hoka')");

「c.dat」には、カウントされた数字が入っています。
テーブル名は「user」+カウント数字で作成しています。

データベースと、CGIの勉強を兼ねて作成しているもので、
根本的な間違いなどあるかもしれません。

どなたか、ご指摘いただければ幸いです。

投稿日時 - 2013-06-25 23:23:53

QNo.8149915

困ってます

質問者が選んだベストアンサー

テーブルで定義している列と、INSERTしようとしているデータの列の数が食い違っているからかと。

処理ごとの戻り値や例外を確認するコードを組み込むと、いろいろ理解が深まりやすいと思います。

投稿日時 - 2013-06-26 01:03:21

お礼

ご指摘ありがとうございます。

ご指摘の箇所を修正したところ、正常に動作しました。

ほんとに恥ずかしいばかりの、初歩的ミスですね^^;

助かりました。
ありがとうございました。

投稿日時 - 2013-06-26 09:45:19

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問