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

解決済みの質問

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

[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”は同じディレクトリに作成されます。
初歩的な事のような気がしますが、分るかたお願い致します。

投稿日時 - 2010-07-01 13:13:04

QNo.6007859

すぐに回答ほしいです

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

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

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

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

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

投稿日時 - 2010-07-01 13:43:12

お礼

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

投稿日時 - 2010-07-04 13:49:54

ANo.1

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

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

回答(2)

ANo.2

sqliteは、存在しないファイル名を開くと、空のデータベースファイルは、作成されますが、
テーブルの作成は自動的にされたりしません。

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

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

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

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

投稿日時 - 2010-07-01 19:07:42