Webサイト制作コースのお申し込みはこちら

PHPを含むシステム開発ではほぼ必須となっているデータベース(以降:DB)接続ですが、プログラミング学習を始めたばかりの方には少し敷居が高く感じるかも知れません。

本記事では、PHPプログラムからMySQLというDBに接続する方法について、サンプルコードを掲載しながら初心者向けに丁寧にご紹介していきます。

この記事の結論
  • PHPからデータベースへの接続は簡単
  • 今回のサンプルはMAMP環境
  • PHPとMySQLの組み合わせが手軽
  • MacもWindowsも手順は基本的に同じ
  • PHPからの接続手順は1つではない

環境を準備しましょう!

まず、今回の環境を紹介致します。

OSは、MacOSXを使いますので、必然的にパソコンは、Macになります。またPHPやデータベースの環境としては、MAMPを使用します。そのため、操作の手順については、MacOSXで使用する例を記述致しますが、WindowsOSの方もほとんど違いはないので参考にしてみてください。本来、実際の業務では、AWSなどのクラウド環境にLinuxベースのインスタンスを用意し、その上でPHPやデータベースなどの環境を構築していきますが、セキュリティポリシーを各々業務に合わせる必要があったり、Linuxの使用方法などアプリケーションを作成する以外の準備が必要です。

これらの準備に対する知見や勉強は、細かく覚えて行くと時間がかかりますので、今回は、環境を簡単に整えられるMAMPを選択しました。WindowsOSの方では、どちらかといえばXAMPPが有名でが、Windows用のMAMPも用意されているので、そちらを使用してみてください。

では、まずMAMPをここからダウンロードし、ダブルクリックしてインストールしましょう! 簡単です! インストールが終了したら1度MAMPを起動してPHPが動作するかを確認しておきましょう。

1. サーバーの起動

MAMPを起動すると図1のようなダイアログ画面が起動します。まず、このダイアログの一番右にある『サーバーを起動』をクリックします。すると、今クリックしたボタンの上に表示されている『Apacheサーバー』『MySQLサーバー』の右側の四角形が緑色になります。

図1

2. MAMPのスタート画面の表示

次に、ダイアログ画面(図1)の中央にある『オープンWebStartの』ボタンをクリックします。すると、ブラウザにMAMPのウェルカム画面(図2)が表示されます。
図2

3. phpの確認(phpinfo)

表示されたウェルカム画面の左上に『PHPの設定を知るには、phpinfo の出力内容を見てください。 』と記載されています。このphpinfoの文字にリンクが貼られているので、そこをクリックします。以下の様な画面(図3)が表示されればOKです!

図3

PHPからデータベース接続のようなスキルが学べるスクールならこちら

データベースを作成してみよう!

では、今回の主役であるデータベースの作成に入ります。MAMPの『サーバを起動』をクリックしてMySQLサーバーが起動状態であることを確認しておいてください。(図4)

図4

勘の良い方であれば、ウェルカムページに『MySQLデータベースは phpMyAdmin を使って管理できます。』という記載を見つけ、phpMyAdminで作成が出来るのでは?と思われた方も居らっしゃるでしょう。まさに、このphpMyAdminというツールを使ってWebブラウザ上から作成することも可能です。phpMyAdminは、Webブラウザ経由でGUIでの操作となっておりイメージもしやすいので、実際のプロジェクトでも良く使われています。ですが、今回は、あえてコマンドラインからデータベースを作成する方法を紹介します。

1. データベースの仕様

今回作成するデータベースの仕様を下記に記載します。この仕様に沿ったDBを作成して行きます。

2. mysqlコマンドの確認

MacOSXに標準でインストールされているアプリケーション”ターミナル”を起動します。このウィンドウから、コマンド(命令)を入力してデータベースを作成していきます。

DBの作成には、MySQLサーバーに対して命令を実行して行います。そのためには、MySQLサーバーにコマンドを送る状態になる必要があります。まず、その状態になるためのmysqlコマンドが実行出来るか?を念のため確認しましょう。

> mysql —version

環境によって、表示のフォーマットは違いますが、

mysql Ver 14.14 Distrib 5.6.35, for osx10.9 (x86_64)

のようにバージョン情報が表示されていればOKです。
次にDBを作成していきます。まず、上述したようにコマンドをMySQLサーバーに対して送ることができる状態になるために、以下のコマンドを実行してください。

> mysql

うまくいくと、ターミナル上で、

mysql>

と表示され、コマンド入力待ちになります。
ここで、うまくコマンド入力待ちにならない方は、既に、知らないうちにMySQLサーバーがインストールされている可能性があります。その場合は、一旦、MySQLサーバーとMAMPをアンインストールし、再度MAMPを再インストールするか、もしくは、次のようにMAMPディレクトリ以下に配置されているmysqlを指定すると上手くいくかもしれません。

> /Applications/MAMP/Library/bin/mysql

「コマンド操作に苦手意識がある」といった方には、「ポテパンキャンプ」での無料カウンセリングもおすすめです。

3. データベースの作成

では、1. データベースの仕様で決めた内容に沿ってデータベースを作成していきます。とは言っても、以下の1行のみで作成が出来てしまいます。意外と簡単ですね!

mysql>create database testDB default character set utf8;

これで、testDBデータベースが文字コードutf8で作成されました!

!注意)
ここで、以下のようなエラーが表示された方は、rootユーザーに対して、まずパスワードを設定しましょう。まずexitコマンドでMySQLコマンド入力モードから抜けます。

mysql>exit

そして、以下のコマンドでMySQLサーバーがデフォルトで持っているrootユーザーに対してパスワードを設定します。パスワードは、適当に各自で設定頂いても大丈夫です。

>/Applications/MAMP/Library/bin/myqladmin -u root password 'root_password'

以下のコマンドでmysqlモードに入りましょう。

>/Applications/MAMP/Library/bin/mysql -uroot -p root_password

PHPからデータベース接続のようなスキルが学べるスクールならこちら

PHPからデータベースに接続してみよう!

1. PHPファイルの配置

データベースの作成が完了しました。では、PHPプログラムから先ほど作成したtestDBデータベースに接続をしてみます。今回は、プログラムの実行をWebブラウザから起動する方法にします。そのため、記述するPHPプログラムファイルはMAMPで実行されるWEBサーバーのドキュメントルート直下に置くことにします。ドキュメントルートは、以下MAMPの設定画面から確認することが出来ます。赤枠箇所(図5)をクリックするとドキュメントルートのフォルダーが開きますので、念のため確認しておきましょう。標準では、/Applications/MAMP/htdocs になっています。

図5

では、次にPHPプログラムのファイル名を決めておきます。名前は何でも良いですが、今回は仮にdb_access.phpとしました。PHPファイルの置き場所は、こうなります。

/Applications/MAMP/htdocs/db_access.php

2. DBへの接続コード

PHPでDBへ接続するためには、いくつか方法があります。現在は、PDOクラスを使用する方法が主流です。今回は、このPDOクラスで接続してみます。いきなりですが、下記が、接続するまでのコード全体になります。

db_access.php

try {

    // データベースに接続
    $pdo = new PDO(
        'mysql:dbname=testDB;host=localhost;charset=utf8',
        'root',
        'root_password',
        [
            PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
        ]
    );
    echo "success connecting DB";

} catch (PDOException $e) {

    /* エラー時は、とりあえず、エラーメッセージを表示 */
    header('Content-Type: text/plain; charset=UTF-8', true, 500);
    exit($e->getMessage());
}

PDOクラスを使用し、インスタンス化します。この時、引数として、dbnameにデータベース名。hostには、MySQLサーバーが存在しているホストを指定します。PHPファイルが実行されるサーバーと異なる別のサーバーに存在する場合は、そのホスト名、もしくはIPアドレスを指定したりすることになります。

3. 実行してみましょう!

では、作成したdb_access.phpを実行してみましょう。MAMPのWebサーバー(今回は、Apacheを選択しています。)が起動していることを確認し、ブラウザを起動します。そして、ブラウザからhttp://localhost:8080/db_access.php にアクセスしてみてください。画面にsuccess connecting DBと表示されたらDB接続成功です!

DB接続だけでなく「プログラミング知識を体系的に学びたい」といった方は、「ポテパンキャンプ」での無料カウンセリングがおすすめです。

おわりに


本記事内では、PDOクラスを使用したDB接続例をご紹介してきましたが、PHPに限らずフレームワークを利用することでより手軽で便利な機能を利用することが可能となります。

今回ご紹介した基本をベースに、フレームワークもしっかりと学習しPHPプログラマーとしてスキルアップしていきましょう。

PHPからデータベース接続のようなスキルが学べるスクールならこちら

エンジニアになりたい人に選ばれるプログラミングスクール「ポテパンキャンプ 」

ポテパンキャンプは卒業生の多くがWebエンジニアとして活躍している実践型プログラミングスクールです。 1000名以上が受講しており、その多くが上場企業、ベンチャー企業のWebエンジニアとして活躍しています。

基礎的な学習だけで満足せず、実際にプログラミングを覚えて実践で使えるレベルまで学習したいという方に人気です。 プログラミングを学習し実践で使うには様々な要素が必要です。

それがマルっと詰まっているポテパンキャンプでプログラミングを学習してみませんか?

卒業生の多くがWebエンジニアとして活躍

卒業生の多くがWeb企業で活躍しております。
実践的なカリキュラムをこなしているからこそ現場でも戦力となっております。
活躍する卒業生のインタビューもございますので是非御覧ください。

経験豊富なエンジニア陣が直接指導

実践的なカリキュラムと経験豊富なエンジニアが直接指導にあたります。
有名企業のエンジニアも多数在籍し品質高いWebアプリケーションを作れるようサポートします。

満足度高くコスパの高いプログラミングスクール「ポテパンキャンプ」

運営する株式会社ポテパンは10,000人以上のエンジニアのキャリアサポートを行ってきております。
そのノウハウを活かして実践的なカリキュラムを随時アップデートしております。

代表の宮崎もプログラミングを覚えサイトを作りポテパンを創業しました。
本気でプログラミングを身につけたいという方にコスパ良く受講していただきたいと思っておりますので、気になる方はぜひスクール詳細をのぞいてくださいませ。