我最近错过了PDO语法,花了几个小时才弄清错误是什么。页面上未报告任何错误。这不是为了赶时髦。
在这些情况下如何显示错误?
我用过
new PDO ("mysql:localhost; dbname=crud", "root", "");
正确的时间是
new PDO ("mysql:host=localhost; dbname=crud", "root", "");
是的
ini_set ('error_reporting', E_ALL);
ini_set ('display_errors', 1);
已激活且条件
try {} catch (PDOException $ e) {}
即使这样也不会显示错误。
答案 0 :(得分:2)
PDO具有默认模式无提示(PDO::ERRMODE_SILENT
)。这意味着它不会在连接不良时引发异常。
因此,您需要设置其属性模式以引发异常:
try {
$dbh = new PDO ("mysql:localhost; dbname=crud", "root", "");
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
echo 'Bad Connection. Error: ' . $e->getMessage();
}