データベースの選択

広告

MySQLへ接続後に利用したいデータベースを選択する方法を確認します。「mysql_select_db」関数を使います。

bool mysql_select_db(string database_name [, resource link_identifier])

データベース名を指定して、アクティブなデータベースに設定します。それ
以降にコールされる mysql_query() は、すべてアクティブなデータベース
上で 実行されます。
link_identifierを指定しない場合には、直近にオープンされたリンクが指定
されたと仮定されます。

引数:
  database_name  アクティブにするデータベース名
  link_identifier  MySQLリンクID
返り値:
  成功した場合に TRUE を、失敗した場合に FALSE を返します。

データベース名を指定して、データベースを選択します。今後SELECT文などのクエリーを発行する場合などは、選択されてアクティブになっているデータベースに対して行われます。その為、クエリーを発行する前にデータベースを選択しておいて下さい。

実際の使い方としては下記のようになるかと思います。

$link = mysql_connect('localhost', 'user', 'pass');
if (!$link) {
    die('接続失敗です。'.mysql_error());
}

$db_selected = mysql_select_db('database_name', $link);
if (!$db_selected){
    die('データベース選択失敗です。'.mysql_error());
}

// MySQLに対するクエリの発行など

mysql_close($link);

では実際に試してみます。データベース名「uriage」を選択してみます。

<html>
<head><title>PHP TEST</title></head>
<body>

<?php

$link = mysql_connect('localhost', 'testuser', 'testuser');
if (!$link) {
    die('接続失敗です。'.mysql_error());
}

print('<p>接続に成功しました。</p>');

$db_selected = mysql_select_db('uriage', $link);
if (!$db_selected){
    die('データベース選択失敗です。'.mysql_error());
}

print('<p>uriageデータベースを選択しました。</p>');

// MySQLに対する処理

$close_flag = mysql_close($link);

if ($close_flag){
    print('<p>切断に成功しました。</p>');
}

?>
</body>
</html>

上記を「test3.php」としてローカル環境で稼動しているApacheのドキュメントルート以下に設置しました。その後ブラウザでアクセスします。

p5-1

エラーの場合の例

データベース選択に失敗した場合も確認しておきます。存在しないデータベースを選択しようとした場合です。

p5-2

以上です。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。