ライブラリ名 | メリット | デメリット |
PEAR::DB | 普及率が高い | 開発中止 |
PEAR::MDB/MDB2 | 多くのDB対応 スキーマを抽象化 | 処理が遅い |
PEAR::DB_Objects | 多くのDB対応 O/Rマッピング | 処理が遅い |
PDO | シンプル・処理は速い | 対応DB少ない・機能が弱い |
Zend_Db | 処理が早い・機能が豊富 | 対応DBがやや少ない |
dbx | 多くのDBに対応 | 機能がやや少ない |
$dsn = 'mysql:dbname=selfphp; host=127.0.0.1'; $usr = 'usr'; $passwd = 'password'; try { $db = new PDO($dsn, $usr, $passwd); print '接続に成功しました。'; $db = NULL; } catch (PDOException $e) { die("接続エラー:{$e->getMessage()}"); }構文として、
次に外部化して使ってみましょう。
理由は毎回スクリプトに書くと大変ですし、
先頭に読み込んでおけば楽でメンテナンスがしやすいからです。
function getDb() { $dsn = 'mysql:dbname=selfphp; host=127.0.0.1'; $usr = 'selfusr'; $passwd = 'selfpass'; try { $db = new PDO($dsn, $usr, $passwd); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $db->exec('SET NAMES utf8'); } catch (PDOException $e) { die("接続エラー:{$e->getMessage()}"); } return $db; }これで、DB接続を行うページの先頭で、
PDO PDO::__construct ( string dsn [, string username [, string password [, array driver_options]]] ) 指定されたデータベースへの接続を表すPDOインスタンスを生成します。 引数: dsn データソース名(Data Source Name)またはDSN。データベースに接続 するために 必要な情報が含まれます。 username DSN文字列のユーザ名。このパラメータは、いくつかのPDOドラ イバではオプションです。 password パスワード。DSN文字列で必要とされる場合に指定。 driver_options ドライバ固有の接続オプションを指定するキー=> 値 の配列。 戻り値: 成功時にPDOオブジェクトを返します。次に明示的に接続を閉じる場合も確認しましょう。
$dsn = 'mysql:dbname=selfphp; host=127.0.0.1'; $usr = 'usr'; $passwd = 'password'; try { $db = new PDO($dsn, $usr, $passwd); print '接続に成功しました。'; $db = NULL; } catch (PDOException $e) { die("接続エラー:{$e->getMessage()}"); } $db = null;//この記事は編集中です。