2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PHPとMySQLの接続方法をわかりやすく解説【初心者向け】

Last updated at Posted at 2024-09-08

1.はじめに

この記事では、PHPを使ってMySQLデータベースに接続する方法を解説します。
PHPの基本的な知識がある方、データベース接続に挑戦したい初心者の方は是非ご覧ください。

2.PHPとMySQLの接続とは?

まずデータベースとは何か、PHPがどのようにデータベースと通信するのかについて簡単に説明します。
データベースとは、データを効率的に保存・管理・検索・更新するためのシステムです。一般的にデータベースは、表形式でデータを保存する「リレーショナルデータベース」(MySQL,PostgreSQL)がよく使用されます。これに対して、ドキュメント指向などの非リレーショナルデータベース(MongoDB)も存在します。
そして、PHPはデータベースと通信するための多くの方法を提供しています。最も一般的なのがMySQLやMariaDBと連携することです。
接続方法として「PDO(PHP Datta Objects)」と「MySQLi」の2つの接続方法があります。
今回はより汎用的で推奨されているPDOを使用します。

3.PHPでのMySQL接続コードの解説

3.1 PDOを使用した接続方法

php
try {
    $dsn = 'mysql:host=localhost;dbname=test_db;charset=utf8';
    $username = 'root';
    $password = '';
    $option = [
        PDO::ATTR_ERRMODE => PDO::ERRRMODE_EXCEPTION,
        PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
    ];

    $pdo = new PDO($dsn, $username, $password, $option);
    echo "データベースに接続できました!";
} catch (PDOException $e) {
    echo "接続に失敗しました。". $e->getMessage();
}

コードの説明:

  • $dsn:データベースの接続情報を定義する文字列。hostdbnamecharsetを指定。
  • $username$password:データベースにアクセスするためのユーザー情報。
  • PDOオプション:PDO(PHP Data Object)によるデータベース接続時に設定する追加のオプションです。これにより、エラーハンドリングやデータの取得方法など、PDOの挙動をカスタマイズすることができます。
  • try-catch:プログラムで発生するエラー(例外)を適切に処理するための構文です。これを使うことで、プログラムが予期せぬエラーで停止することを防ぎ、エラーが発生した場合にどう対処するかを決められます。

3.2 エラーハンドリングとデバッグ

  • $e->getMessage():この方法で取得できる具体的なエラーメッセージは、開発者にとってエラーの原因を特定し、効率的なデバッグと適切なハンドリングエラーを行うための強力なツールです。

4.データの取得と表示

接続が成功した後、簡単なクエリを実行してデータを取得・表示する方法を紹介します。

php
$stmt = $pdo->query('SELECT * FROM users');
while ($row = $stmt->fetch()) {
    echo $row['name']. '<br>';
}

コードの説明:

$stmt = $pdo->query('SELECT * FROM users');
  • query()メソッドは、SQL文を実行するために使われます。この場合、SELECT * FROM usersというSQLクエリが実行されています。このクエリは、usersテーブルのすべての列を取得します。
  • pdoは、事前に作成されたデータベースへの接続帆保持しているPDOオブジェクトです。この接続が成功していれば、クエリを実行できます。
while ($row = $stmt->fetch())
  • fetch()メソッドは、クエリ結果から1行ずつデータを取得します。最初に呼び出すと、最初の行を返し、次に呼び出すと2行目以降を順に返します。
  • whileループを使用して、結果が取得され続ける限り、データの処理を繰り返します。データがなくなると、fetch()falseを返し、ループが終了します。
    echo $row['name']. '<br>';
  • $rowfetch()で返された1行分のデータを保持する配列です。この配列の各要素は、テーブルの列に対応しています。例えば、usersテーブルにnameという列がある場合、$row['name']でその列のデータを取得できます。
  • echoを使ってname列の値をブラウザに表示し、<br>で改行を挿入しています。

5.まとめ

PHPとMySQLの接続ができるようになった後、次に挑戦すべきステップは、データベースへのデータの挿入、更新、削除などの操作です。これらの操作を総称してCRUD操作(Create,Read,Update,Delete)と呼びます。
CRUD操作を習得することで、動的なWebアプリケーションの開発が可能となり、ユーザーの入力に応じてデータを操作するシステムを構築できるようになります。

6.追加リソース

さらに深掘りしたい人向けに役立つ公式ドキュメントや参考リンクを紹介して終わりたいと思います。

最後までご覧いただきありがとうございました。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?