【PHP講座】PDOを利用したデータベース接続

ビジネス

前回は phpMyAdminのセキュリティの設定 について学習しました。

【PHP講座】phpMyAdminのセキュリティ設定

2018.10.05

今回は PDOを利用したデータベース接続 についてです。

PHPからデータベースへ接続する方法はいくつかありますが、PDO(PHP Data Object)が使える環境であれば、この方法がおすすめです。

軽量で高性能なインターフェースを定義します。

それでは見ていきましょう。



データベースへの接続

PDOによるデータベースへの接続です(MySQLの場合)。

$dbh(変数) = new PDO('mysql:host=ホスト名;dbname=データベース名;charset=文字コード', ユーザー名, パスワード);

ここで Java を学習したことがある方は似ていると感じたかもしれませんが。

まさにその通りでオブジェクト指向的な考え方なのです。

new演算子でPDOクラスのオブジェクトをインスタンス化します。

ちなみにインスタンス化というのは、クラスから生成した実際に動作するオブジェクトのことです。

SQLの発行

SQLの発行です。

$stmt(変数) = $dbh(変数)->query(SQL文);

ちなみに -> は、アロー演算子と言います。

インスタンスのプロパティやメソッドにアクセスするのに使います。

SQLの結果を配列として取り出す

上の続きですが、結果を配列として取り出します。

$stmt に結果が格納されているので、それを取り出します。

$result(変数) = $stmt(変数)->fetchAll(PDO::FETCH_ASSOC);

ここで PDO::FETCH_ASSOC は、実行結果をカラム名を付けた配列として返します。

PDO::FETCH_NUM なら、実行結果を0から始まるカラム番号を付けた配列として返します。

PDO::FETCH_BOTH なら、実行結果をカラム名と0から始まるカラム番号を付けた配列として返します。

データベースを切断する

データの操作が終わったら、データベースとの接続を切断します。

$dbh(変数) = null;

最後に

ビジネス

いかがでしょうか。

PHPのバージョンが古いとかで使えない場合は低レベルデータベース関数を使う必要があります。

しかし、現状だとデータベースの接続はPDOを利用するのが一般的みたいです。