Lan*_*Lan 2 php mysql connection pdo
我无法在任何地方找到答案.也许它非常简单
我有这样的mysql PDO连接:
try{
$DBH = new PDO("mysql:host=$db_hostname;dbname=$db_database", $db_username, $db_password);
$DBH->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
}
catch (PDOException $e){
echo $e->getMessage();
exit;
}
Run Code Online (Sandbox Code Playgroud)
我想测试连接是否有效,即.如果密码,用户名,数据库名称和主机名拼写正确.
尝试,抛出似乎只是拾取基本错误,如果驱动程序拼写错误.如果说密码错误,它不会引发错误.
谢谢
You*_*nse 13
只需单击一下这个问题,在PDO标签中wiki就是确切的方法:
$dsn = "mysql:host=localhost;dbname=test;charset=utf8";
$opt = array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
);
$pdo = new PDO($dsn,'root','', $opt);
Run Code Online (Sandbox Code Playgroud)
以及警告
请勿使用try..catch运算符来处理错误消息.
未捕获的异常已经非常适用于此目的,因为它将像处理其他PHP错误一样处理PDO错误 - 因此,您可以使用站点范围的设置来定义行为.稍后可以添加自定义异常处理程序,但不是必需的.特别是对于新用户,建议使用未处理的异常,因为它们提供的信息非常丰富,有用且安全.更多信息...