/PHPからMySQL上のデータを取得するためにPHPからMySQL上のデータを取得するために更新:2017/08/02このページでは、PHPからMySQLに接続するための概要について説明します。基本的なWebアプリケーションの仕組みまずは、以下のページを参考に、Web3層アプリケーションについて理解を確認してください。Web3層アプリケーションの仕組み『Webサーバとサーバサイドプログラムとデータベースは3層の仕組みでコンテンツを返している』ということが分かって頂けたでしょうか?今回は、サーバサイドプログラムであるPHPと、データベースであるMySQLの間での通信を行うことになります。この実習の方法ですと、Apache+PHP+MySQL(MariaDB)という構成になっているはずです。MySQLデーモンとMySQLクライアントさらにMySQL(MariaDB)のことを掘り下げます。PHPとMySQLが通信をする際には、以下のような要素が関係します。MySQLサービスそのものや、MySQLサービスが稼動しているサーバを指して、『MySQLサーバ』と呼びます。(○○サーバというのは、サービス単体を指すこともあれば、インフラ上の特定のサーバマシンを指すこともあります。前者についてはできるだけ、MySQLデーモンとか、mysqldなどと呼ぶようにしましょう)MySQLサービスMySQLの核にあるプログラム(サービスまたはデーモン)です。MySQLサービスはMySQLクライアントから受け取ったコマンド(SQL)を介して、データの出し入れを行います。OSから直接コマンドを実行して、データのメンテナンスを行ったりします。(バックアップやチューニングなど)MySQLクライアント各種アプリケーションとMySQLサービスを仲介する中間プログラムです。プログラミング言語からデータベースにアクセスする際は、裏側でMySQLクライアントがコールされます。PHP側のMySQLクライアント利用モジュールPHPの機能に実装された、MySQLクライアントをコールするための機能(API)です。クラスライブラリや関数などを利用して、アプリケーションはMySQLにアクセスすることができるようになります。(mysql、mysqli、PDOなどが該当します)MySQLに接続するにはどの方法(API)がいい?PHPからMySQLに接続するための方法には、複数ありあります。それぞれのメリット/デメリットについて紹介します。結論から書きますと、『性能重視ならmysqli』『汎用性重視ならPDO』となります。今回は汎用的で機能も豊富なPDOを利用します。PDOPDOを使うとMySQLだけでなく、別種のデータベースにも同じ構文が使えるようになります。(様々なデータベースへの接続を抽象化する、多機能なAPIです)mysqli機能は限られていますが、MySQLの性能を最大限発揮できるAPIです。以前PDOと性能を比較したことがあったのですが、格段にmysqliの方が早かったです。大規模なシステムなることが分かっていたら、mysqliを使いましょう。mysqlmysqliなどが登場する前は、mysql_xxx()などといった関数を使ってプログラミングしていました。mysql関数は速度も遅く機能が少ないので、使う必要はありません。上記について詳しく知りたい方は、以下の公式マニュアルをご覧ください。無料でPHPを学んでWebエンジニアになる。