PHP::PDOでMySQLに接続するときのスニペット

ちょっとしたサンプル書くときにPDO接続するときのオプションなんだったっけ?みたいになるので書き残します。
最近のフレームワークはこの辺の基礎構文書かないから忘れるw

charsetを指定していることで「set names」しなくてよくなる。
PDO::ATTR_ERRMODEでSQLの実行エラーを例外処理
PDO::ATTR_DEFAULT_FETCH_MODEでselect文の実行結果を連想配列(PDO::FETCH_ASSOC)を指定することでfetch()の時にパラメータを省略できる。

$dsn = 'mysql:dbname=placktis;host=127.0.0.1;charset=utf8';
$user = 'root';
$password = '';

try {
    $dbh = new PDO($dsn, $user, $password,[
	    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
	    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
    ]);

} catch (PDOException $e) {
    echo "接続失敗: " . $e->getMessage() . "\n";
    exit();
}
カテゴリー: PHP