• 締切済み

PHPフレームワーク Ethna DB作成

LLフレームワークBOOKS「Ethna×PHP」をやっています。 P161のデータベース作成のところで質問です。 行った手順は以下です。 プロジェクトディレクトリ(/home/ethna/projects/ethnatask)に dbs/taskディレクトリを作成 ↓ taskディレクトリとdbs ディレクトリに書き込み権限追加 ↓ 以下のスクリプトを入力し「make_db.php」と名前を付けてdbsディレクトリに配置。 ------------ <?php $queries[] = <<<EOD CREATE TABLE task ( id INTEGER PRIMARY KEY, user VARCHAR, name VARCHAR, rate INTEGER DEFAULT 0, comment VARCHAR, created_at INTEGER, updated_at INTEGER, deleted_at INTEGER DEFAULT 0, task_order INTEGER NOT NULL ); EOD; $db = sqlite_open('./task/ethnatask.db', 0666); foreach ($queries as $query) { print("Execute query at\n{$query}\n"); sqlite_query($db, $query); } ?> ------------- ↓ ここから質問です。 本には「Webブラウザからmake_db.phpを呼び出すと、taskディレクトリ内に「ethnatask.db」が作成される」と記載があります。 Webブラウザからmake_db.phpをどうやって呼び出すのですか? ドキュメントルートは /var/wwwです。 シンボリックリンクを張っているので、http://localhost/ethnatask でトップ画面の表示までは確認できています。 Webブラウザからmake_db.phpを呼び出すとはどうやるのでしょうか?

  • PHP
  • 回答数1
  • ありがとう数0

みんなの回答

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.1

関連するQ&A

  • Ethnaの設定について

    http://oshiete1.goo.ne.jp/qa3200000.html 上記を参考にみましたが、どうしても解決できないので教えてください。 質問内容も同じくWindowsでEthnaを使おうとしていますが、プロジェクトをWebに公開することができません。 ブラウザに下記のような表記が出ます。 ****************************************************************** Warning: main(Ethna/Ethna.php) [function.main]: failed to open stream: No such file or directory in C:\home\ethna\public_html\sample\app\Sample_Controller.php on line 20 Fatal error: main() [function.require]: Failed opening required 'Ethna/Ethna.php' (include_path='.:/usr/local/lib/php/Smarty;C:\home\ethna\public_html\sample/app;C:\home\ethna\public_html\sample/lib') in C:\home\ethna\public_html\sample\app\Sample_Controller.php on line 20 ****************************************************************** ディレクトリ構造は C:\ -- php\ -- PEAR\ -- Ethna、smarty、PEAR等 プロジェクトは C:\   home\ -- ethna\ -- public_html\ -- sample の中に入っており http://localhost/~ethna/sample/www/index.php にアクセスしています。 パスの指定が間違っているのだと思いますが どうしても解決できません。 アドバイスお願いします。

    • 締切済み
    • PHP
  • Databaseの新規作成について教えてください

    Databaseについて教えてください。 新しく"Database"というテーブルを作ってやろうとして。以下のようなコードを書いてやりましたが、 エラーが出ました。これはどういう意味でしょうか。 コード自体にはエラーは無いと思うのですが、一体どこが悪いのでしょうか。 ファイルのパスが悪いのでしょうか。所定のパスにファイルを置いているのですが。 ------------ <HTML> <BODY> <?php if($db = sqlite_open("db_a")){ //database no sakusei $query = "CREATE TABLE tbl_a(id INTEGER,title VARCHA(10),price INTEGER)"; //table sakusei $result = sqlite_query($db,$query); //table sakusei print "[db_a]を作成しました。"; //table sakusei }else{ die("データーベースに接続できません。"); } sqlite_close($db); //table setudan ?> </BODY> </HTML> エラー表示----- "Warning: Unknown: failed to open stream: No such file or directory in Unknown on line 0 Fatal error: Unknown: Failed opening required 'C:/Program Files/xampplite/htdocs/Database/make_db_table.php' (include_path='.;C:\Program Files\xampplite\php\pear\') in Unknown on line 0" 以上です、どなたか分かる方よろしくお願いします。

    • 締切済み
    • PHP
  • phpでテーブルを作る際変数によってテーブル名を変えたいです。

    phpでテーブルを作る際変数によってテーブル名を変えたいです。 文字列$nama(tarou,jirou等)、 整数$iの中身によって作るテーブル名が tbl_tarou_1、tbl_tarou_2、tbl_jirou_5と変わるプログラムを作りたいのです。 当方初心者なので以下のプログラムを改変するような形でお答えいただけないでしょうか。 回答よろしくお願いいたします。 $db = sqlite_open("db"); $query = "CREATE TABLE tb(xyz VARCHAR(20))"; $result = sqlite_query($db,$query_statics); sqlite_close($db);

    • ベストアンサー
    • PHP
  • PHP+ACCESSのデータベース接続について

    こんにちわ。PHP+ACCESSを使って、データベース接続を試みようとしておりますが、最初のところでつまづております。 <?php //データベースに接続する $DB = sqlite_open('db.mdb'); $SQL = "create table db (id integer ,name,time) $result = sqlite_query($DB, $SQL); ?> 上記のPHPで、ACCESSファイルを作成しましたが、作成したファイルを開くと、"データベース形式が認識できません"と表示し、データベースを閲覧することができません。 また、ACCESSから手動で作成したファイルをsqlite_openで接続しようとすると、sqlite_open(): file is encrypted or is not a database inエラーが表示接続することができません。 PHPとACCESSの相性の問題なのでしょうか。この原因がわかる方がいらっしゃいましたら、教えていただけないでしょうか。 宜しくお願い致します。 【php4.3.10 SQLite Library2.8.14 ACCESS2000】

    • ベストアンサー
    • PHP
  • PHP 認証システム

    PHPでIDとPWDを入力してログインする認証ページを作ろうとしています。環境はPHP-5.1.6、サーバ:Apache2.0.63、データベース:SQLiteです。 まず、DBを作ろうとしているのですが一部分がなんて打っていいか調べても解らなかったので質問させて頂きます。 <HTML><BODY> <?php if($db = sqlite_open("db_ninshou")){ $query = "CREATE TABLE tbl_ninshou(ID ???, PWD ???)"; $result = sqlite_query($db, $query); print "db_ninshouを作成しました。"; }else{ die("データベースに接続できません。"); } sqlite_close($db); ?> </BODY></HTML> ???部分に何を打っていいかわかりません。IDは英数字の組み合わせの7文字。PWDは3文字以上10文字以下の英数字にしたいと思っています。PWDなどに適した変数が解らないのでどなたかご教授ください。よろしくお願いします。

    • ベストアンサー
    • PHP
  • sqlite+phpでのテーブル作成

    こんばんは php+sqlite+pdoで掲示板を作ろうと思っているのですが - $db = new PDO('sqlite:test555.db','', ''); $query = "CREATE TABLE テーブル名 (テーブル内容)"; $db->query($query); //以下掲示板表示処理など - とした場合、すでにテーブルが存在していてもエラーが出ずに掲示板のデータを表示してしまいます。 掲示板の機能としてはこれで動いているので問題ないのですが、プログラム的に掲示板にアクセスするたびにCREATE TABLEを実行しても良いものなのでしょうか? 出来ればテーブルが存在しない場合のみにCREATE TABLEを実行したいのですがその場合はどのように書けばいいのでしょうか?

    • ベストアンサー
    • PHP
  • SQlite

    SQLiteを使って メールを保存するデータベースを作っています。 以下のようになっています。  さらに、 アドレス帳を作りたいのですが 新たにデータベースを開くのか 同じデータベースで別のテーブルを開けばよいのかわかりません。 ご存知の方よろしくお願いします。 また、 C++からSQLiteを扱う上での参考書などもありましたら 教えてください。 rc = sqlite3_open(".\\mailbox\\SQMail.db", &db); if( rc ){ AfxMessageBox("Can't open database:", MB_OK); sqlite3_close(db); return; } rc = sqlite3_exec(db, "create table MailTbl (id INTEGER PRIMARY KEY, attach varchar(20), subject varchar(120),addressfrom varchar(80),addressto varchar(80),date varchar(80),size integer,priority integer, read integer, state integer, alldata blob);", callback, 0, &zErrMsg); if( rc!=SQLITE_OK ){ // AfxMessageBox("SQL error:", MB_OK); sqlite3_free(zErrMsg); }

  • SQLiteのデータベースについて

    PHP初心者です。以下のSQLiteより作成するデータベースについて教えてください。 $DB = sqlite_open('db1.db'); $sql="create table tables(id integer ,name,texts)"; $result=sqlite_query($db,$SQL); 上記、プログラムにより、同ディレクトリに、db1.dbが作成されますが、このデータベース情報はどのようにして、閲覧するのでしょうか(MS-ACCESS、SQLのように簡単に閲覧できないのか)。主キーやテーブルの名前またはフィールドの名前の変更、データ一覧閲覧などどのようにするのでしょうか。 環境は、Windows環境で、PHP4を使用しております。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • (PHP 4.4.8) sqlite_open関数の引数を相対パスにしたいのですが上手くいきません。

    PHP 4.4.8 SQLite Library 2.8.14 の環境で、 sqlite_open関数の引数を相対パスにしたいのですが上手くいきません。 (例)create_db.php <?php $db = sqlite_open("../db_test"); //←ここでエラーが出ます。 $query = "CREATE TABLE tbl_test(id,aaa,bbb)"; $result = sqlite_query($db,$query); sqlite_close($db); ?> ネットで調べた所、sqlite_open()は引数に「相対パス(or絶対パス)」を入れることは可能であり、 かつ、「../db_test」が無い場合、作られる仕組みということです。 エラー表示: Warning: sqlite_open() [function.sqlite-open]: unable to open database (...以下略) ちなみに、上記のコードにおいて、 「../db_test」ではなく、「db_test」として同じことをすると、上手くいきます。 つまり、スクリプトファイル(create_db.php)と同階層にファイルを作成することはできるのです。 $db = sqlite_open("db_test");   //← ○:ファイル作成成功 $db = sqlite_open("../db_test"); //← ×:ファイル作成失敗 どなたかご助言をよろしくお願い致します。

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

    • ベストアンサー
    • PHP