質問: new PDO('mysql:host=localhost;dbname=' . $db, $user, $pass); ```
回答: PDOは何もしていません。 例外処理を行わないため、デフォルトのPHPエラーハンドラが呼び出され、関数の引数を含む呼び出しスタックが表示されるため、これが発生しています。 通常、コールスタックは非常に優れているので、エラーハンドラを動作させたい必要があります。あなたはそれを正しく使う必要があります。 * 例外をスローする可能性があるコードの周りの適切な場所に `try` / `catch` ブロックを配置します。 `try` / `catch` ブロックをコードのトップレベルに置いて、何も浸透しないようにしてください。 しかし、PDOの文書には、PDOの例外を正しく捕まえない大きなリスクが明白に(赤い警告ボックスに)記載されています。 > アプリケーションがPDOコンストラクタからスローされた例外をキャッチしない場合、zendエンジンが行うデフォルトのアクションは、スクリプトを終了してバックトレースを表示することです。このバックトレースは、ユーザー名とパスワードを含む完全なデータベース接続の詳細を明らかにします。この例外を明示的に(catch文によって)キャッチするか、set_exception_handler()で暗黙的にキャッチするのはあなたの責任です。 > > ( http://www.php.net/manual/en/pdo.connections。 PHP )