libro
www.tuyano.com
初心者のためのPHPプログラミング入門

PDOによるデータベースアクセス (3/7)

作成:2012-07-29 16:52
更新:2012-07-29 16:52

■PDOオブジェクトを作成する

■ドライバのロード

では、実際にPDOを利用してMySQLにアクセスをしてみることにしましょう。PDOを利用するには、PHPにPDO利用のためのドライバープログラムがロードされていなければいけません。ドライバーのロードは、php.iniファイルに記述されます。(XAMPPの場合、XAMPPのインストールフォルダ内にある「php」フォルダ内にあります)
extention=php_pdo.dll
extention=php_pdo_●●.dll

php.ini内に、このような記述があるはずなので検索して下さい。●●の部分にはデータベースの種類が指定されます。MySQLの場合は、「php_pdo_mysql_mysqlnd.dll」「php_pdo_mysql_libmysql.dll」という2つのDLLファイルをロードする文があるはずです。これらの文の冒頭にコメントアウトを示すコロン(;)記号がついてたら、それを削除して下さい。これでサーバーをリスタートすればドライバーが読み込まれるようになります。

ちなみに現在のXAMPP 1.7.xでは、デフォルトでMySQLのドライバーがロードされるように設定されていますので、php.iniの修正は不要です。

■PDOによるアクセスの基本を整理する

では、PDOを利用したデータベースアクセスについて整理して行きましょう。まず最初に行うのは「PDO」オブジェクトの作成です。
$変数 = new PDO( サーバーの指定, ユーザー名, パスワード );
こんな感じになります。ポイントは、引数の指定の仕方です。第1引数にデータベースを指定するテキストを用意し、第2、3引数にアクセスするユーザー名とパスワードを用意します。問題は、この第1引数でしょう。これは以下のような形で記述します。
"データベースの種類:host=ホスト;dbname=データベース;
        charset=エンコーディング"
MySQLの場合、データベースの種類には「mysql」と指定します。今回の例のように、localhostにあるmysampledataというデータベースにアクセスするのであれば、以下のようになるでしょう。
"mysql:host=localhost;dbname=mysampledata;charset=utf8"
これで、MySQLを使い、特定のデータベースにアクセスするためのPDOオブジェクトが作成されます。後は、このオブジェクトから必要に応じてメソッドを呼び出していくだけです。

PDO作成にはもう1つ注意すべき点があります。それは、「例外が発生する可能性がある」という点でしょう。PDOによるデータベースアクセス時に問題が発生すると、PDOExceptionという例外が送られます。ですからnew PDOおよびデータベースのアクセスは、実際には以下のような形で書くことになるでしょう。
try {
    $変数 = new PDO( サーバーの指定, ユーザー名, パスワード );
    ……$変数のメソッドを呼び出しデータベースにアクセスする……
} catch (PDOException $e){
    ……例外発生時の処理……
}
後は、データベースにアクセスして何を行うか?ですね。それによって、呼び出すメソッドや、データベースから送られてくる値の処理の仕方も変わってきます。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

※関連コンテンツ

「初心者のためのPHPプログラミング入門」に戻る