接続失敗時のエラー表示
広告
PDOを経由でデータベースへ接続した時に、データベース側で何かあった場合にどのようなエラーが出るのかを一応確認しておきます。例としてMySQLへの絵接続の場合で試してみます。
実際に試すプログラムとしては下記のものを使います。
<html>
<head><title>PHP TEST</title></head>
<body>
<?php
$dsn = 'mysql:dbname=uriage;host=localhost';
$user = 'testuser';
$password = 'testuser';
try{
$dbh = new PDO($dsn, $user, $password);
print('<br>');
if ($dbh == null){
print('接続に失敗しました。<br>');
}else{
print('接続に成功しました。<br>');
}
}catch (PDOException $e){
print('Error:'.$e->getMessage());
die();
}
$dbh = null;
?>
</body>
</html>
まずユーザー名が間違っていた場合です。
下記のようなエラーメッセージが表示されます。
SQLSTATE[28000] [1045] Access denied for user 'testuserr'@'localhost' (using password: YES)
次はホスト名が間違っていた場合です。
下記のようなエラーメッセージが表示されます。
SQLSTATE[HY000] [2005] Unknown MySQL server host 'localhosta' (11001)
最後にMySQLのサーバが停止していた場合です。
下記のようなエラーメッセージが表示されます。
SQLSTATE[HY000] [2003] Can't connect to MySQL server on 'localhost' (10061)
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。