使用phpmyadmin导入数据库后出错:未定义属性:PDO :: $ connect_error

问题描述 投票:-1回答:1
  1. 我使用scp将我的脚本从远程服务器复制到我的localhost。
  2. 然后我使用phpmyadmin中的导出和导入函数将数据库复制到我的localhost。
  3. 当我在localhost中输入网站时,我得到完全相同的输出,但在include('config.php') - >“Undefined property:PDO :: $ connect_error”之后的行上有错误消息

我更改了localhost config.php文件中的用户名和密码,因为我在本地phpmyadmin上使用了不同的登录信息。除此之外,他们是完全相同的文件。

我的config.php文件:

<?php
$dbh = new PDO(
                'mysql:host=localhost;dbname=mydatabase;charset=utf8',
                'root',
                'pw123',
                array(
                        PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
                        PDO::ATTR_PERSISTENT => false
                )
        );

?>

有人可以解释可能导致错误消息的原因吗?


这对我有用:

我在index.php中的第一行:

// Check connection
if ($dbh->connect_error) {
    die("Connection failed: " . $dbh->connect_error);
}
include('header.php');

我的header.php中的前两行:

error_reporting( error_reporting() & ~E_NOTICE );
ini_set('display_errors', true);

解决方案:当我将这两行复制到index.php脚本中时,错误消息消失了。如果有人知道为什么,请向我们解释。

php mysql pdo phpmyadmin
1个回答
1
投票

未定义的属性:PDO :: $ connect_error

如果你检查manual,你会发现PDO实例根本没有公共属性。与mysqli不同,PDO总是会因连接错误而抛出异常。

tl; dr - 完全删除该条件,不要只隐藏错误消息

© www.soinside.com 2019 - 2024. All rights reserved.