みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

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

解決済みの質問

PHPでMySQLのDBに接続

PHP,MySQLが使えるレンタルサーバーを借りているのですが,
PHPでMySQLに接続し、php_dbを選択をするようにしたいのですが、
この時DBファイルはどこに置けばいいのでしょうか?
現在はMySQLの管理コマンド(?)とは別にpublic_htmlの中に
PHPフォルダを作り、そこにDBファイルを入れています。
PHPのスクリプトは

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">


<html><head><title>練習</title>
<meta http-equiv="content-language" content="ja">
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp">
</head><body>
<?php
$con = mysql_connect();
if (!$con) {
echo ("Error:MySQLに接続できませんでした。<br />");
} else {
echo ("接続ID=$con<br>\n");
}

$selectdb = mysql_select_db("php_db" ,$con);
if (!$selectdb) {
echo ("Error:データベースを選択できませんでした");
} else {
echo ("データベースphp_dbを選択しました。");
}
?>
</body></html>


としています。
MySQLには接続ができるのですが、php_dbには接続ができません。
php_dbのおき場所を変えるのか、ファイルの指定が間違っているのか
その他、どの要に変更をしたらよいのでしょうか?
お願いします。

環境はレンタルサーバーがLINUXでPHPのバージョンなどはわからないんです・・・!!
開発がOSがW2kでFTPで転送してます。

投稿日時 - 2003-11-18 17:17:10

QNo.709002

困ってます

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

amountainblastさんが勘違いなされていると思うのですが・・・
基本的にデータベースのファイルは「データベースが管理するもので、ユーザ(プログラマー)が直接触る必要はありません」。

GuruGuru22さんがおっしゃられるとおり、まず先にmysql_create_dbでデータベースを作成します。これはデータベースソフトによってなされる事なので、それに使用されるファイルがどこにどのように作成されるかを気にする必要はありません(同じサーバー上に存在しない事もあります)。
その上で、その作成したデータベースをmysql_select_dbで選択するのです。

多分その本にはコマンドラインからのデータベースの作成の仕方が載っていたのだと思うのですが、それで生成されるファイルが他のサーバーのデータベースで使えるかどうかは分からないので、そのサーバーで作り直す必要があると思います。

なお、サーバーソフトとLinuxの種類やPHPのバージョン等は(もっとも有名な関数)"<?php phpinfo() ?>"で調べる事が出来ます。

参考URL:http://allabout.co.jp/computer/database/closeup/CU20030227/index.htm

投稿日時 - 2003-11-19 14:38:04

お礼

ご回答ありがとうございます。
何やら私が勘違いをしているみたいですね・・・!!
すみません。

mysql_create_dbでデータベースを作るスクリプトを


if (!mysql_create_db("sample_db" ,$con)) {
echo ("Crete_DB Error:データベースを作成できませんでした。<br>\n");
} else {
echo ("データベースを新しく作成しました。<br>\n");
}

アップしたことろTRUEが返りました。
あまり原因がわかっていません。
どうやら権限を付けるんだろうと勝手に解釈しております。
のでもっと基本的な事から始めないといけないみたいなので、どうしようかと思っていたら後ろの方にコマンドラインからのmysqlの操作が書いてありましたので、とりあえず先に進んでみようと言うことで、先に進みたいと思います。どうもありがとうございました。

投稿日時 - 2003-11-19 14:56:54

ANo.3

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

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

回答(3)

ANo.2

>PHPのmysql_create_db関数でデータベースを作って、
>そのアップ先は何処のフォルダでもいいのでしょうか?

えーと、サーバーにupしたスクリプトで
mysql_create_dbを実行して、うまくいけば
サーバー上にデータベースが作成されますよね。
試してみて、サーバーのどこに作成されたか
確認してみてはどうかと思ったのです。

ただ、そのレンタルサーバーの説明書きか何かを
見ればそういったことは書いてあると思うのですがね。

投稿日時 - 2003-11-19 14:15:39

ANo.1

ローカルでデータベースつくって
それをサーバーにアップしているって
ことですか。
MySQL のヴァージョンの違いとかは
気にしなくても大丈夫なのかな。

とりあえず、PHPのmysql_create_db関数で
データベースつくってみたらどうでしょう。

参考URL:http://search.net-newbie.com/php/function.mysql-create-db.html

投稿日時 - 2003-11-19 09:25:16

お礼

ご回答ありがとうございます。
今は書籍を読んで勉強していて、
その本についていたデータベースをアップしています。
ただ、本が窓を使った環境で説明されているのと、データベースを何処にアップしたらいいのか書いていないので、よく、分からないんです。
PHPのmysql_create_db関数でデータベースを作って、そのアップ先は何処のフォルダでもいいのでしょうか?

投稿日時 - 2003-11-19 10:44:49

あなたにオススメの質問