電子書籍の厳選無料作品が豊富!

PHPからMySQLの起動について

レンタルサーバーを借りてPHP,MySQLの勉強をしています。
PHPからMySQLの起動ができなくて困っていますので、教えていただきたいのですが、

<?PHP
$dbkidou = mysql_connect("どこのサーバーか","ユーザー名","パスワード");
//データベースの起動ができなかった場合
if ($dbkidou == False)
{
print ("error");
exit;
}
$db = "データベースの名前";
?>

まずレンタルサーバーのドメインを「abc.com」としています。これに対するユーザー名が「def」、パスワードが「ghi」です。
そしてMySQLデータベースは「jkl_m」,「jkl_n」の2つを設けていて(phpMyAdminで作成しました)MySQLユーザ名が「opq」、パスワードが「rst」です。今回は「jkl_m」のサーバーを起動させたいのですが、上記PHP文の、

どこのサーバーか
ユーザー名
パスワード
データベースの名前

の各部分にどれを書けば良いのでしょうか?
何通りか試しているのですが、うまくいかないんです…

A 回答 (3件)

MySQLサーバの起動処理ではなく、MySQLサーバへの接続処理ですね。



> まずレンタルサーバーのドメインを「abc.com」としています。
> これに対するユーザー名が「def」、パスワードが「ghi」です。
これはFTP接続や作成したHTMLをアップロードするために使用する情報ですか?
だとしたらこれは関係ありません。

> そしてMySQLデータベースは「jkl_m」,「jkl_n」の2つを設けていて
> (phpMyAdminで作成しました)MySQLユーザ名が「opq」、パスワードが「rst」です。
MySQLサーバのアドレスとポート番号が何か指定されていませんか?
ポート番号はMySQLのデフォルトポートを使い、
Webサーバと同じサーバにMySQLサーバが入っていると想定すると、

<?php

//接続処理
$link = mysql_connect("localhost", "opq", "rst");
//MySQLサーバがexample.com ポートに10000と指定されていた場合
//$link = mysql_connect("example.com:10000", "opq", "rst");
if (!$link) {
die("接続できません: " . mysql_error()));
}

//使用するデータベースを指定する
$db_selected = mysql_select_db("jkl_m", $link);
if (!db_selected) {
die("データベースが見つかりません: " . mysql_error());
}

//ここから処理開始

//処理が終了したら閉じる
mysql_close($link);


1.mysql_connect()で接続し、mysql_select_db()で使用するデータベースを選択し、
2.mysql_query()でMySQLサーバに問い合わせをし、
3.問い合わせ結果を必要に応じてmysql_fetch系の関数で取得し、
4.上記で取得したデータの使用が終わったらmysql_free_result()でメモリを開放し、
5.全ての処理が終わったらmysql_close()で接続を閉じる。
と、こういう流れになります。

http://www.php.net/manual/ja/mysql.examples-basi …
    • good
    • 0
この回答へのお礼

$link = mysql_connect("localhost", "opq", "rst");
(中略)
$db_selected = mysql_select_db("jkl_m", $link);

↑これでうまくいきました。
レンタルサーバーはWebサーバとMySQLサーバ共に同じところに申し込んでいるので(一つの契約ですので)、Webサーバと同じサーバにMySQLサーバが入っているはずなのですが、
「MySQLサーバのアドレスとポート番号」については、私の見たところ表示がありませんでした。
探し方が悪いのかも知れません。

それから、「MySQLサーバの起動処理ではなく、MySQLサーバへの接続処理ですね。」
その通りです。用語は正確に使わなければいけませんね。留意いたします。

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

お礼日時:2010/08/29 07:27

データベースを提供しているところによって異なるのかも知れませんが、私自身は、



$sqlid = mysql_connect("abc.com","def","ghi");
mysql_select_db("jkl_m",$sqlid);

で、正常に起動しています。このあと、

$sql = "なんらかのSQL文";
$q = mysql_query($sql,$sqlid) or die("dError");
$row = mysql_fetch_assoc($q);

として、値を取得しています。
    • good
    • 0

abc.comがホスト名を兼ねているのかどうか不明ですが、


mysql_connect("abc.com","opq","rst");
か、
mysql_connect("ホスト名.abc.com","opq","rst");
か、
mysql_connect("localhost","opq","rst");
じゃないですか。
それでもだめならMySQLのrootユーザを使っちゃって、
mysql_connect("abc.com","root","ghi");
か、
mysql_connect("abc.com","root","MySqlのrootのパスワード");
あたり。rootを使うのはセキュリティ上良くないけどテストとして。
    • good
    • 0
この回答へのお礼

mysql_connect("localhost","opq","rst");

↑これでうまくいきました。
ありがとうございます。

お礼日時:2010/08/29 07:13

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