PDOによるデータベースアクセス (1/7)
作成:2012-07-29 16:45
更新:2012-07-29 16:45
更新:2012-07-29 16:45
■データベースにアクセスする「PDO」とは?
Webアプリケーションでは、さまざまなデータを扱います。それらは多くの場合、データベースを利用して管理します。データベースといってもさまざまな種類がありますが、もっとも一般的に広く用いられているのは「SQLデータベース」と呼ばれるものです。
これは、SQLと呼ばれるデータベースに問い合わせるための専用言語を使い、データベースに必要な情報などを調べて送ってもらう、というものです。現在、広く使われているMySQLやPostgreSQL、また最近ではAndroidやiPhoneなどの内部データベースとしても活躍するSQLiteなどは、すべてこのSQLデータベースの仲間です。SQL以外にもデータベースはもちろんありますが、まぁ今の段階では「データベース=SQLデータベース」と考えてしまってよいでしょう。
この入門では、最初に「XAMPP」というサーバー環境をインストールして利用しています。このXAMPPには「MySQL」というデータベースが標準で組み込まれています。XAMPP Controll PanelからMySQLを起動するだけで、このデータベース機能が使えるようになります。このMySQLは、SQLデータベースの中でもおそらくもっとも広く使われているものといってよいでしょう。これを使って、SQLデータベース利用の基本を学ぶことにしましょう。
さて、PHPには、SQLデータベースを利用するための機能がいくつか用意されています。だいたい、以下の3つに整理されるでしょう。
・関数による利用。例えばMySQLならば、mysql_○○といった形でデータベースアクセスのための関数が一通り用意されています。これらの関数を呼び出して使います。PHPの初期の頃から用意されていたもので、PHP5以前のものでも使えます。ただ、全部関数を呼び出して使う、というのは昨今のオブジェクト指向なプログラミングとはかけ離れたやり方といえます。「PHP5以前の古いPHPで使う」というものでしょう。
・オブジェクトによる利用。例えばMySQLならば、new mysqliというようにしてMySQLアクセス用のオブジェクトを作り、その中のメソッドを呼び出して使います。これは、上の関数だらけのものをオブジェクトにまとめたもので、一応、オブジェクト指向な感じでデータベースアクセスが行えるようになります。
・PDOによる利用。PDOというのは「PHP Data Objects」の略です。PDOというクラスのオブジェクトを作り、そのメソッドを呼び出してデータベースを使います。他と大きく異なるのは、「データベースがなんだろうと全部同じやり方でOK」という点でしょう。オブジェクトを作る際にデータベースの種類などを設定するだけで、後はデータベースの種類を気にすることなく利用ができます。
――どれも一長一短ありますが、ここでは「PDOを使ったアクセス」について説明します。これはPHP 5.1から新たに用意された機能で、単にオブジェクト指向な手段を提供するというだけでなく、データベースの違いを吸収し、アクセス先が何であろうと変わらない処理が作成できるように設計されています。これから新たに覚えようというのであれば、PDOが一番でしょう。
これは、SQLと呼ばれるデータベースに問い合わせるための専用言語を使い、データベースに必要な情報などを調べて送ってもらう、というものです。現在、広く使われているMySQLやPostgreSQL、また最近ではAndroidやiPhoneなどの内部データベースとしても活躍するSQLiteなどは、すべてこのSQLデータベースの仲間です。SQL以外にもデータベースはもちろんありますが、まぁ今の段階では「データベース=SQLデータベース」と考えてしまってよいでしょう。
この入門では、最初に「XAMPP」というサーバー環境をインストールして利用しています。このXAMPPには「MySQL」というデータベースが標準で組み込まれています。XAMPP Controll PanelからMySQLを起動するだけで、このデータベース機能が使えるようになります。このMySQLは、SQLデータベースの中でもおそらくもっとも広く使われているものといってよいでしょう。これを使って、SQLデータベース利用の基本を学ぶことにしましょう。
■データベース利用の3つの方法
さて、PHPには、SQLデータベースを利用するための機能がいくつか用意されています。だいたい、以下の3つに整理されるでしょう。
・関数による利用。例えばMySQLならば、mysql_○○といった形でデータベースアクセスのための関数が一通り用意されています。これらの関数を呼び出して使います。PHPの初期の頃から用意されていたもので、PHP5以前のものでも使えます。ただ、全部関数を呼び出して使う、というのは昨今のオブジェクト指向なプログラミングとはかけ離れたやり方といえます。「PHP5以前の古いPHPで使う」というものでしょう。
・オブジェクトによる利用。例えばMySQLならば、new mysqliというようにしてMySQLアクセス用のオブジェクトを作り、その中のメソッドを呼び出して使います。これは、上の関数だらけのものをオブジェクトにまとめたもので、一応、オブジェクト指向な感じでデータベースアクセスが行えるようになります。
・PDOによる利用。PDOというのは「PHP Data Objects」の略です。PDOというクラスのオブジェクトを作り、そのメソッドを呼び出してデータベースを使います。他と大きく異なるのは、「データベースがなんだろうと全部同じやり方でOK」という点でしょう。オブジェクトを作る際にデータベースの種類などを設定するだけで、後はデータベースの種類を気にすることなく利用ができます。
――どれも一長一短ありますが、ここでは「PDOを使ったアクセス」について説明します。これはPHP 5.1から新たに用意された機能で、単にオブジェクト指向な手段を提供するというだけでなく、データベースの違いを吸収し、アクセス先が何であろうと変わらない処理が作成できるように設計されています。これから新たに覚えようというのであれば、PDOが一番でしょう。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
※関連コンテンツ