PHPスクリプトでMySQLデータベースを選択する方法をわかりやすく解説
PHPには、MySQLデータベースを選択するための関数として mysql_select_db が用意されています。この関数を使うことで、接続済みのMySQLサーバー上から、操作対象となるデータベースを指定できます。
基本的な使い方
mysql_select_db 関数は、第1引数にデータベース名、第2引数にMySQL接続リンク(省略可能)を指定します。以下に、PHPスクリプトを使って「TUTORIALS」という名前のデータベースを選択する例を示します。
<html>
<head>
<title>Selecting MySQL Database</title>
</head>
<body>
<?php
$dbhost = 'localhost:3036';
$dbuser = 'guest';
$dbpass = 'guest123';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn ) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_select_db( 'TUTORIALS' );
mysql_close($conn);
?>
</body>
</html>コードの流れ
- mysql_connect でホスト・ユーザー名・パスワードを指定してMySQLサーバーに接続します。
- 接続に失敗した場合は die 関数でエラーメッセージを表示して処理を終了します。
- mysql_select_db にデータベース名「TUTORIALS」を渡し、使用するデータベースを選択します。
- 最後に mysql_close で接続を閉じます。
注意点:mysql_* 系関数は非推奨
mysql_connect や mysql_select_db といった mysql_* 系の関数は、PHP 5.5で非推奨となり、PHP 7以降では完全に削除されています。現在の開発では、以下のいずれかを使用することが推奨されます。
- mysqli 拡張モジュール:mysqli_connect および mysqli_select_db を使う方法。手続き型でもオブジェクト指向型でも記述できます。
- PDO(PHP Data Objects):DSN指定時にデータベース名を含めることで選択でき、複数のデータベースに対応した汎用的なインターフェースです。
たとえば mysqli を使った場合、データベースの選択は次のように行います。
<?php
$conn = mysqli_connect('localhost', 'guest', 'guest123', 'TUTORIALS');
if (!$conn) {
die('Could not connect: ' . mysqli_connect_error());
}
echo 'Connected successfully';
mysqli_close($conn);
?>このように、mysqli では接続時にデータベース名を直接指定できるため、コードがよりシンプルになります。既存のコードをメンテナンスする場合は、mysql_* 系関数からの移行を検討しましょう。
-
MySQL Workbenchを使ったMySQLデータベースのバックアップ方法を徹底解説
MySQL Workbenchでデータベースをバックアップする手順MySQLデータベースのバックアップを作成するには、まずMySQL Workbenchをインストールする必要があります。以下の公式リンクから、お使いの環境に合ったインストーラーをダウンロードしてインストールしてください。https://dev.mysql.com/downloads/windows/installer/8.0.html1. MySQL Workbenchを起動し「Data Export」を選択インストールが正常に完了したら、MySQL Workbenchを開きます。画面上部のメニューから「Data Export(
-
MySQLでランダムなレコードを取得する方法|ORDER BY RAND()の使い方を解説
MySQLデータベースからランダムにレコードを1件(または複数件)取得したい場合、ORDER BY RAND() と LIMIT を組み合わせるのが最もシンプルな方法です。この記事では、実際のテーブル作成からランダム抽出までの手順を、実行例とともにわかりやすく解説します。1. サンプルテーブルを作成するまずは動作確認用のテーブルを作成しましょう。ここでは学生情報を管理するテーブルを定義します。mysql> create table DemoTable1581 -> ( -> Stude