パターン1、パターン2動作は同じ。扱いやすいと思う方を採用する。
パターン1
config.php
<feff><?php error_reporting(E_ALL & ~E_NOTICE); define('DB_NAME','データベース名'); define('DB_HOST','接続先'); define('DB_USER','ユーザー名'); define('DB_PASSWORD','パスワード');
function.php
<?php function connectDb(){ $param = "mysql:dbname=".DB_NAME.";host=".DB_HOST; try{ $pdo = new PDO($param,DB_USER,DB_PASSWORD); $pdo->query('SET NAMES utf8'); return $pdo; }catch(PDOException $e){ echo $e->getMessage(); exit(); } }
パターン2
config.php
<?php error_reporting ( E_ALL & ~ E_NOTICE ); define ( 'DSN', 'mysql:host=接続先;dbname=データベース名' ); define ( 'DB_USER', 'ユーザー名' ); define ( 'DB_PASSWORD', 'パスワード' );
function.php
<?php function connectDb() { try { $pdo = new PDO ( DSN, DB_USER, DB_PASSWORD ); $pdo->query ( 'SET NAMES utf8;' ); $pdo->setAttribute ( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );//(※1) return $pdo; } catch ( PDOException $e ) { echo $e->getMessage (); exit (); } }
(※1)例外を投げてくれるので設定しておくと無難