我比什么都困惑,我试图使用 PDO 连接到我的 mysql 数据库。我的凭据无效,而不是尝试捕获错误并告诉我"凭据无效",它完全冻结了页面,我收到了此错误:
内部服务器错误
服务器遇到内部错误或配置错误,无法完成您的请求。
请与服务器管理员联系,告知错误发生的时间以及可能导致错误的任何操作。
有关此错误的详细信息,请参阅服务器错误日志。
我的代码如下:
function pdo_connect(){
$host = 'localhost';
$user = 'user';
$pass = 'wrongpass';
$dbSchema = 'wrongschema';
try{
$dbcPDO = new PDO('mysql:host='.$host.';dbname='.$dbSchema, $user, $pass); //connect to the PDO instance
$dbcPDO->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); //turn on errors
return $dbcPDO;
}catch(PDOException $e) {
trigger_error('Could not connect to the database: ' . $e->getMessage());
return false;
exit();
}
}
当我拥有正确的凭据时,我的连接没有问题。我假设无效的凭据会被 PDOException 捕获,并且消息指出它无法连接。
仅供参考,当我们对数据库使用无效凭据时,PDO将捕获异常。不知道是什么给了你这个问题。
-
您编写了连接到函数中的数据库的 PDO。确保在 PHP 脚本中调用该函数。
-
您可以使用以下代码检查与数据库的 PDO 连接是否成功。
if($con==null) { $response["connected"] = "false"; }else{ $response["connected"] = "true"; } echo json_encode($response); // $con is the connection object returned.
-
您上面使用的代码在我的服务器中运行良好。问题可能出在服务器本身。尝试检查错误日志的更多详细信息。
链接将指导您了解内部服务器错误。也许您可以发布错误日志以快速解决问题。
祝你好运..!!