13,005
回編集
79行目: | 79行目: | ||
try { | try { | ||
# DSN(database source name)は、データベースの種類と名前、およびその他の追加情報を定義する | |||
# PDOは様々な種類のデータベースをサポートしているため、別のデータベースを使用している場合は、構文(mysql)の部分を使用しているデータベースに置き換える | |||
$dsn = "mysql:host=$host; dbname=$dbname; charset=$charset"; | $dsn = "mysql:host=$host; dbname=$dbname; charset=$charset"; | ||
# PDOコンストラクタは、データベースへの接続を確立する | |||
# 3つのパラメータを持っており、データソース名(dsn)、データベースのユーザ名、データベースのパスワードである | |||
$pdo = new PDO($dsn, $username, $passwd); | $pdo = new PDO($dsn, $username, $passwd); | ||
# PDOにパラメータを設定するsetAttributeメソッド | |||
# PDO::ATTR_ERRMODEおよびPDO::ERRMODE_EXCEPTIONは、クエリが失敗した場合に例外を実行するようにPDOに指示する | |||
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); | $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); | ||
echo "Connection Okay"; | echo "Connection Okay"; | ||
# データベースに接続するためのPDO変数を返す | |||
return $pdo | return $pdo | ||
} | } | ||
catch (PDOException $e) | catch (PDOException $e) | ||
{ | { # 接続に失敗した場合はエラーメッセージを表示する | ||
echo "Connection failed: ". $e->getMessage(); | echo "Connection failed: ". $e->getMessage(); | ||
} | } | ||
?> | ?> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<br> | |||
PDOの大きな強みは、クエリで起こりうるあらゆる問題に対処するための例外クラスを持っていることである。<br> | |||
これは、try-catchブロックを組み込むことによってこれらの問題を解決する。<br> | |||
<br><br> | <br><br> | ||