我正在试验try
catch
并发现了一些奇怪的行为。
代码
<?php
$user = "WrongUserName";
$pass = "WrongPassword";
try {
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
echo "Success";
}
catch (PDOException $e) {
echo "Login Failed";
}
?>
这会按预期输出“登录失败”,但是当我删除变量时
<?php
// Variables for $dbh is missing
try {
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
echo "Success";
}
catch (PDOException $e) {
echo "Login Failed";
}
?>
输出
注意:未定义的变量:C:\ xampp \ htdocs \ simpleBD \ db.php中的用户 第6行 注意:未定义的变量:在第6行传入C:\ xampp \ htdocs \ simpleBD \ db.php 成功
为什么输出“成功”而不是“登录失败”