dari88's diary

これから趣味にするプログラミング/PHP/javascript/kohana/CMS/web design/

PHPでデータベースの操作・・・PDO(PHP Data Object)を使ってみる

昨日から「PHP逆引き大全 516の極意」という本のサンプルコードをダウンロードして NetBeans で勉強しています。今日のお題は第6章6-1「PDO(PHP Data Object)の利用」です。PDOはデータベースへのアクセスの抽象化をしてくれるそうで、PHP 5.1 以降の機能だということです。これによりデータベースの種類を問わない記述を可能にしており、オブジェクト指向に対応しているよし。何だか便利そうですね。

PHP逆引きレシピ」ではこの PDO については触れていなかったように思います。サンプルコードを比べてみると PDO を使ったコードの方が随分とすっきりした感じがします。逆引きレシピでは if 文を連ねてデータベースエラーを拾っているのに対し、逆引き大全の方では try {一連の処理} catch (PDOException $e){エラー処理} で記述しているのでなおさらそう感じます。

もう一つ特徴的なのが、レシピ 389 でトランザクションに触れていることです。何が起きてもデータベースの整合性を保つ仕組みはぜひ使いたいですね。PHP も日々進化しているので、新しい機能は積極的に使っていこうと思いました。このサンプルコードを実行するに際しては、例によって事前準備が必要なので、一応手順をメモしておきます。

<事前準備>
phpMyAdmin を起動し、bookspdo という名前のデータベースを作り、ここに移動する。
・Chap6/6-1/schema.sql の内容を SQL タブにあるテキストボックスに書きこんで実行する。
・同じく、insert-mysql.txt の内容を書きこんで実行する。
・config.inc.php を開いて、ユーザー名とパスワードを書き換える。このファイルはレシピ 380 以降でインクルードして使っています。

ひと通り実行して勉強するとデータベースが何だか身近に感じるようになってきました。これはいい傾向ですね。