PHPでPDOのエラーメッセージを表示する方法


$dsn = 'mysql:host=localhost;dbname=mydatabase';
$username = 'username';
$password = 'password';
try {
    $pdo = new PDO($dsn, $username, $password);
} catch (PDOException $e) {
    echo "接続に失敗しました: " . $e->getMessage();
}
  1. エラーモードを設定します。PDOオブジェクトのsetAttributeメソッドを使用して、エラーモードを設定します。以下の例では、エラーモードをPDO::ERRMODE_EXCEPTIONに設定しています。
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  1. エラーメッセージの表示を有効にします。PDOオブジェクトのerrorInfoメソッドを使用して、直近のPDO操作のエラーメッセージを取得できます。以下の例では、直近のPDO操作にエラーがあった場合にエラーメッセージを表示しています。
$stmt = $pdo->prepare("SELECT * FROM users");
if ($stmt->execute()) {
    // 成功した場合の処理
} else {
    $errorInfo = $stmt->errorInfo();
    echo "エラーメッセージ: " . $errorInfo[2];
}

上記のコード例では、prepareメソッドとexecuteメソッドを使用してクエリを実行しています。エラーが発生した場合、errorInfoメソッドを使用してエラーメッセージを取得し、表示しています。

これらの手順を実装することで、PDO操作中に発生したエラーメッセージを表示することができます。これにより、デバッグやエラーハンドリングが容易になります。