PHP-PDOを使用してデータベースに接続する

記事の要約

PHPでPDOを使用してデータベースに接続する方法です。
エラーハンドラ関数とシャットダウンハンドラ関数を併用して、
エラーの補足と出力にも対応するようにしています。
エラーの補足と出力については、下記の記事をご参考ください。


関連記事

www.tsunagu-tsunagaru.com

PHP

<?php

try {

	/* サーバー設定 */
	$database_name = データベース名;
	$database_host = 接続ホスト;
	$acount_name = アカウント名;
	$acount_password = パスワード;

	$pdo_database = new PDO( // データベースの接続
		mysql:dbname=. $database_name .;host=. $database_host .;charset=utf8, $acount_name, $acount_password,
		array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_EMULATE_PREPARES => false)
	);

} catch (PDOException $e) { // Exception ではなく PDOException を使用

	echo $e->getMessage(); // エラー内容
	// echo $e->getLine(); // エラーを捕捉した行数
	// echo $e->getFile(); // エラーを捕捉したファイル(フルパス)

}

PDOとは

PDOとは、PHPのバージョン5.1.0以降で使用することができる
データベース接続クラスのことです。
PHPでは MySQL/PostgreSQL/SQLite などの色々なデータベースに
接続するための命令が用意されています。
それらの命令は、データベースの種類によって使い分ける必要があったのですが、
PDOを使用することで同じ命令で複数のデータベースに接続ができるようになります。
また、PDOは PEAR::DB よりも動作が速いため、

  • PEAR::DBを利用したプログラムに機能追加する場合
  • PDOの設定がされていない環境で作成する場合

上記のような特別な理由がない限り、PDOの使用を推奨します。

php.net

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)
PDO クラス

PDO クラス

(PHP 5 >= 5.1.0, PHP 7)
PDOException クラス

PDOException クラス