gpt4 book ai didi

pdo - 使用 PDO 连接 Mysql 数据库不起作用

转载 作者:行者123 更新时间:2023-12-04 10:19:20 25 4
gpt4 key购买 nike

我正在尝试在我的 PHP 代码中使用 PDO 模块来连接到数据库。我已经阅读并搜索了类似的主题,但我无法弄清楚我做错了什么。请帮我解决问题。

  • Apache版本:Apache/2.2.21 (Win32) PHP/5.3.10
  • 在 php.ini 文件中,我取消注释该行:extension=php_mysql.dll

    2a. phpinfo 函数显示“加载的配置文件”位置是 C:\php\php.ini

    2b。 phpinfo函数显示的PDO驱动信息:
    在 PDO 部分下:PDO 驱动程序-->Mysql(已启用)
    在 PDO Driver for MySQL 部分下:客户端 API 版本-->mysqlnd 5.0.8-dev - 20102224 - $Revision: 321634 $(启用)

  • 我用来连接数据库的代码
    $db_user = "uid";
    $db_pass = "pd";

    $db_connect = new PDO('mysql:host=locahost; dbname=practice; charset=UTF-8', $db_user, $db_pass);
    if($db_connect){
    print "connected to the db " . "<br />";
    } else{
    print "error connects to the db. " . mysql_error();
    }

    我收到的错误消息:
  • 警告:PDO::__construct() [pdo.--construct]: php_network_getaddresses: getaddrinfo failed: 没有这样的主机是已知的。在 C:\server\htdocs\html-exer\handle_reg3.php 第 14 行
  • 警告:PDO::__construct() [pdo.--construct]: [2002] php_network_getaddresses: getaddrinfo failed: 没有这样的主机是已知的。 (尝试通过 tcp://locahost:3306 连接)在 C:\server\htdocs\html-exer\handle_reg3.php 第 14 行
  • fatal error :未捕获的异常 'PDOException' 带有消息 'SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: No such host is known。 ' 在 C:\server\htdocs\html-exer\handle_reg3.php:14 堆栈跟踪:#0 C:\server\htdocs\html-exer\handle_reg3.php(14): PDO->__construct('mysql:host =loca...', 'root', 'password') #1 {main} 在 C:\server\htdocs\html-exer\handle_reg3.php 第 14 行抛出

  • 编辑:添加了答案,要求提供更多信息,这些信息无疑将很快被删除:

    你好你的常识:
    感谢您的代码片段。它帮助我解决了这个问题。看来字符集可能是原因。这是我连接到数据库的代码
    $dsn= 'mysql:host=localhost; dbname=practice; charset=utf8';
    $db_user = "root";
    $db_pass = "mypd";

    $db_connect = new PDO($dsn, $db_user, $db_pass);
    if($db_connect){
    print "connected to the db " . "<br />";
    }

    最佳答案

    看来您的服务器配置错误
    使用 127.0.0.1而不是 localhost在 DSN 中。

    $dsn = 'mysql:host=127.0.0.1; dbname=practice; charset=utf8';
    $pdo = new PDO($dsn, $db_user, $db_pass, $opt);

    您需要阅读错误消息。
    它说您的 PDO 在连接到 localhost 时遇到问题。因此,您需要更改 PDO 连接字符串的地址。

    另外你使用了错误的字符集名称,我已经更正了

    另外, mysql_error()对 PDO 没用。不需要调用这个函数,你已经抛出了一个错误

    关于pdo - 使用 PDO 连接 Mysql 数据库不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14869086/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com