php - SQLSTATE[HY000] [2002] php_network_getaddresses : getaddrinfo failed

标签 php mysql database pdo

完整的错误是:

SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known

这是我第一次尝试将网站与该主机连接。我不是一个大型 PHP 开发人员,我在这里看到的大多数代码与我所看到的有些不同。我可以连接到 phpmyadmin,但无法通过网站

class Config  
{
    const DB_TYPE = 'mysql';
    const DB_HOST = ' localhost';
    const DB_USER = 'xxxx';
    const DB_PASSWORD = 'xxxx';
    const DB_NAME = 'xxxx';
}    

class DatabasePDO {

    /** @var PDO */
    private static $dbh;
    public static function getInstance()
    {

        $dsn = Config::DB_TYPE.':host='.Config::DB_HOST.';dbname='.Config::DB_NAME;

        try {
            self::$dbh = new PDO($dsn, Config::DB_USER, Config::DB_PASSWORD);
        }
        catch( PDOException $e ){
            echo "Error!: ".$e->getMessage();
            die();
        }

        return self::$dbh;
    }
}


require_once WWW_ROOT. 'php' .DS. 'classes' .DS. 'Config.php';
require_once WWW_ROOT. 'php' .DS. 'classes' .DS. 'DatabasePDO.php';

class UserDAO {

    public $dbh;

    public function __construct()
    {
        $this->dbh = DatabasePDO::getInstance();
    }

最佳答案

本地主机中有一个空格。将配置更改为:

class Config  
{
    const DB_TYPE = 'mysql';
    const DB_HOST = 'localhost';  // <- fixed this
    const DB_USER = 'xxxx';
    const DB_PASSWORD = 'xxxx';
    const DB_NAME = 'xxxx';
}  

关于php - SQLSTATE[HY000] [2002] php_network_getaddresses : getaddrinfo failed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30835208/

相关文章:

PHP - 检查转义字符

javascript - 单击 Go 按钮后如何停止 <select> 选项的重置

MySQL - 将 ID 作为数组存储在表中

android - 当我启动我的应用程序时,如何强制我的 SQLiteOpenHelper 中的 onCreate 运行?

php - MySQL/PHP 搜索引擎 - 没有刷新?提供的示例和文档

php - 如何设置显示为图像的按钮的样式

php - 如何调用数组中的所有php函数

mysql - 从多个表中选择数据并将其放入一行

mysql - 删除后触发无效

mysql - MySQL查询中sum记录错误?