【问题标题】:PDO connect error on xampp for windowsWindows的xampp上的PDO连接错误
【发布时间】:2011-11-25 08:10:01
【问题描述】:

我是 PDO 的新手,正在尝试在 xampp for windows 上使用它。我不断收到与主机相关的错误,并尝试将“localhost”更改为所有可能的内容,例如 ip 地址和套接字,但我相信我做得不对。我也尝试更改 pdo_mysql.default_socket 的变量,但我不相信它正在工作/我也这样做了。这是我得到的错误:

致命错误:未捕获的异常 'PDOException' 带有消息 'SQLSTATE[42000] [1044] 用户 'admin'@'localhost' 拒绝访问 C:\xampp\htdocs\faculty\ 中的数据库 ''xxxxxx'''类\db.class.php

这是我目前在我的 php 中的内容

self::$instance = new PDO("mysql:host=localhost;dbname='xxxxxx'", 'admin', 'xxxxxxx');

【问题讨论】:

    标签: php pdo xampp


    【解决方案1】:

    删除 dbname 周围的单引号

    self::$instance = new PDO("mysql:host=localhost;dbname=xxxxxx", 'admin', 'xxxxxxx');
    

    【讨论】:

      【解决方案2】:

      你在 mysql 中为admin@localhost 创建了一个帐户吗? PDO 连接正常,但您使用了不正确的凭据登录数据库。

      创建账户的具体文档:http://dev.mysql.com/doc/refman/5.5/en/adding-users.html

      【讨论】:

      • 我使用常规的 mysql_connect 连接对其进行了测试,使用与 PDO 连接相同的设置,mysql_connect 和 mysql_db_select 的一切都解决了,所以它不是登录
      • mysql_connect 没有指定数据库,因此即使正在使用的帐户对数据库没有权限,它也会成功。确保您已在 xxxxxx 数据库上授予此管理员用户权限。
      • 我已经连接了 mysql_connect 和 mysql_db_select 并且都成功了。该帐户仅对该数据库没有全局权限。还有其他非 PDO 方法可以测试吗?
      【解决方案3】:

      我今天遇到了同样的问题,结果我的 xampp mysql 数据库有两个“任何”条目,它们在我忽略的 phpmyadmin 的用户页面中生成警告。

      删除这两个条目后,我设法与 PDO 建立了联系……看图。

      总结一下:从你的 php 用户列表中删除“任何”用户,如果他们在的话。

      【讨论】:

        猜你喜欢
        • 2016-07-23
        • 2013-08-15
        • 1970-01-01
        • 1970-01-01
        • 2018-09-04
        • 2016-03-29
        • 2014-08-26
        • 2018-11-02
        • 2021-07-23
        相关资源
        最近更新 更多