これ何て呼びますか

[Warning]が出るのですが、何故かわかりません。


<html>
<body>
<?php

if($db = sqlite_open('db_ehon')){
$query = "INSERT INTO tbl_ehon (id, title, price)
VALUES (1, 'a', 1380)";
$result = sqlite_query($db, $query);
$query = "INSERT INTO tbl_ehon (id, title, price)
VALUES (2, 'b', 1580)";
$result = sqlite_query($db, $query);
$query = "INSERT INTO tbl_ehon (id, title, price)
VALUES (3, 'c', 1680)";
$result = sqlite_query($db, $query);
$query = "INSERT INTO tbl_ehon (id, title, price)
VALUES (4, 'd', 1680)";
$result = sqlite_query($db, $query);
print "「db_ehon」を作成しました。";
}else{
die("データを登録できません。");
}
sqlite_close($db);

?>

</body>
</html>

■表示______________

Warning: sqlite_query() [function.sqlite-query]: no such table: tbl_ehon in C:\Apache Group\Apache2\htdocs\test2.php on line 13

Warning: sqlite_query() [function.sqlite-query]: no such table: tbl_ehon in C:\Apache Group\Apache2\htdocs\test2.php on line 16

Warning: sqlite_query() [function.sqlite-query]: no such table: tbl_ehon in C:\Apache Group\Apache2\htdocs\test2.php on line 19

Warning: sqlite_query() [function.sqlite-query]: no such table: tbl_ehon in C:\Apache Group\Apache2\htdocs\test2.php on line 22
「db_ehon」を作成しました。




”db_ehon”は同じディレクトリに作成されます。
初歩的な事のような気がしますが、分るかたお願い致します。

A 回答 (2件)

正直、SQLiteは使ったことがない為、動かしてみて「んんん?」と思ったのですが、SQLiteはDBファイルが自動で作られる上に、ユーザーとかパスワードとかの設定もないのですね。



もしかして、テーブルも自動で生成されるのかもしれませんが、こちらで試しても 同じように no such table でしたので、以下を加えてみたところ、正常に動きました。

$query = "CREATE TABLE tbl_ehon (id INTEGER, title VARCHAR(255) , price INTEGER)";
$result = sqlite_query($db, $query);

よく分かっていない俺がテキトーに回答していますので、見当違いだったらすみません。
    • good
    • 0
この回答へのお礼

ありがとうございました!原因がわかりました。
たぶん、bm_hiroさんの言われている通りのようでした。

お礼日時:2010/07/04 13:49

sqliteは、存在しないファイル名を開くと、空のデータベースファイルは、作成されますが、


テーブルの作成は自動的にされたりしません。

テーブルを作成していないのであれば、テーブルを作成する必要があるし、
テーブルを作成しているはずだというのであれば、テーブル名の記述が間違っているのではないでしょうか。

一度確認してみてください。
Sqliteのデータを簡単に操作/閲覧できるツールとして、

http://reddog.s35.xrea.com/wiki/TkSQLite.html#te …

[TKSqlite]というものもありますので確認してみてはいかがでしょうか。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!