ブログの投稿、ECサイトの商品情報、SNSのユーザーアカウントなど、多くのWebサイトは大量の情報を「記憶」しています。PHPプログラムで単にデータを画面に表示するだけでは、その情報は一時的なもので、すぐに消えてしまいます。
この「記憶」の役割を担い、データを永続的に保存するために不可欠なのが「データベース」です。
この記事では、データベースとは何か、なぜPHP開発に必要なのかを解説し、MAMPやXAMPPに付属する管理ツール「phpMyAdmin」を使って、あなたの最初のデータベースを作成する具体的な手順をご紹介します。
データベースとは?なぜPHPに必要なのか
データベースとは、整理されたデータの集合を、安全かつ効率的に管理するためのシステムです。単なるファイルの集まりとは違い、以下のような特徴を持っています。
- データの永続化: サーバーの電源を切ってもデータが消えません。
- 高速な検索・更新: 何万件ものデータの中から、特定の条件に合うものを瞬時に探し出せます。
- 安全性: 複数のユーザーが同時にアクセスしてもデータが壊れない仕組みや、アクセス権の管理機能があります。
PHPとデータベースを連携させることで、一時的な情報を扱うプログラムから、本格的なWebアプリケーション(ブログ、SNS、ECサイトなど)へとステップアップすることができるのです。今回は、世界で最も広く利用されているデータベース管理システムの一つである「MySQL」を使います。
データベース管理ツール「phpMyAdmin」を使ってみよう
MySQLを直接操作するには、専門的なコマンドを打ち込む必要がありますが、初心者には少しハードルが高いかもしれません。そこで登場するのが「phpMyAdmin」です。
phpMyAdminは、Webブラウザ上でマウス操作で直感的にデータベースを管理できるツールで、MAMPやXAMPPに標準で付属しています。
phpMyAdminへのアクセス方法:
- MAMPまたはXAMPPのコントロールパネルを開き、「Apache」と「MySQL」の両サーバーを起動します。
- MAMPのスタートページやXAMPPのコントロールパネルにある「phpMyAdmin」のリンクをクリックするか、ブラウザで
http://localhost/phpmyadmin/
にアクセスします。 - phpMyAdminの管理画面が表示されれば準備OKです。(もし表示が英語の場合は、トップページで言語を日本語に変更できます。)
最初のデータベースを作成する手順
phpMyAdminを使って、PHPアプリケーションのデータを格納する「器」となるデータベースを作成しましょう。
Step 1: 「データベース」タブを開く
phpMyAdminの上部メニューから「データベース」タブをクリックします。
Step 2: データベース名と照合順序を決める
データベースの作成画面が表示されたら、2つの項目を入力・選択します。
- データベース名: データベースの名前を入力します。半角英数字とアンダースコア(
_
)を使い、アプリケーションの内容が分かるような名前を付けるのが一般的です。(例:blog_app
,contact_form_db
) 今回は練習として「my_first_db」と入力します。 - 照合順序(Collation): これは、データベースが文字を**比較・整列(ソート)**するときのルール設定です。日本語や絵文字などを正しく扱うために、ここは非常に重要です。 ドロップダウンリストの中から「utf8mb4_unicode_ci」を選択してください。ポイント:
utf8mb4_unicode_ci
は、絵文字を含む現代のWebで使われるほぼ全ての文字を正しく扱え、かつ精度の高いルールで並べ替えができる、現在の標準的な設定です。古い資料にあるutf8_general_ci
は避けましょう。
Step 3: 「作成」ボタンをクリックする
入力が完了したら、「作成」ボタンをクリックします。 画面に「データベース my_first_db
を作成しました。」と表示され、左側のメニューに新しいデータベース名が表示されれば、作成は成功です!
(予告) PHPからデータベースへ接続する
データベースという器ができたので、次のステップはPHPからこの器に接続し、データを出し入れすることになります。PHP 8では、PDO (PHP Data Objects) という仕組みを使ってデータベースに接続するのが現代的で安全な方法です。
以下は、今回作成したデータベースにPHPから接続するためのサンプルコードです。
db_connect.php
のサンプルコード:
<?php
$dsn = 'mysql:host=localhost;dbname=my_first_db;charset=utf8mb4';
$user = 'root';
$password = 'root'; // MAMPの初期パスワードは'root'、XAMPPは空''の場合が多い
try {
// データベースへの接続を試みる
$pdo = new PDO($dsn, $user, $password);
// 接続オプションを設定
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
echo "データベースへの接続に成功しました。";
} catch (PDOException $e) {
// 接続失敗時にエラーメッセージを表示
echo "接続失敗: " . $e->getMessage();
exit();
}
?>
このコードを実行して「成功しました」と表示されれば、PHPとデータベースが対話する準備が整ったことになります。
まとめ
今回は、PHPアプリケーションのデータを保存するための基盤となる、MySQLデータベースの作成方法を学びました。
- データベースは、データを永続的に保存・管理するためのシステム。
- phpMyAdminを使えば、ブラウザから簡単にMySQLを操作できる。
- データベース作成時は、照合順序に**
utf8mb4_unicode_ci
**を選ぶのが現代の標準。
これで、あなたのPHPプログラムはデータを「記憶」する能力を手に入れる準備ができました。次のステップでは、このデータベースにデータを保存したり、保存したデータを読み込んだりする方法を学んでいきましょう。