接続失敗時のエラー表示
広告
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 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。