php 警告:mysql_connect(): php_network_getaddresses: getaddrinfo failed: No such host is known

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/31286083/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-25 22:21:09  来源:igfitidea点击:

Warning: mysql_connect(): php_network_getaddresses: getaddrinfo failed: No such host is known

phpdatabasexampplocalhostmysql-connect

提问by sang

I'm trying to connect to a localhost database using php.

我正在尝试使用 php 连接到 localhost 数据库。

but it's shown

但它显示了

Warning: mysql_connect(): php_network_getaddresses: getaddrinfo failed: No such host is known. in C:\xampp2\htdocs\wikifiesto\wf-insertcase.php on line 7

Warning: mysql_connect(): php_network_getaddresses: getaddrinfo failed: No such host is known. in C:\xampp2\htdocs\wikifiesto\wf-insertcase.php on line 7 error connecting to database

警告:mysql_connect():php_network_getaddresses:getaddrinfo 失败:不知道这样的主机。在 C:\xampp2\htdocs\wikifiesto\wf-insertcase.php 第 7 行

警告:mysql_connect():php_network_getaddresses:getaddrinfo 失败:不知道这样的主机。在 C:\xampp2\htdocs\wikifiesto\wf-insertcase.php 中第 7 行错误连接到数据库

the structure of server, user, pass is localhost, pma, ' '

server, user, pass的结构是localhost, pma, ' '

here's my code with the name 'wf-insertcase.php':

这是我的名为“wf-insertcase.php”的代码:

<?php
define('dbuser', 'pma');
define('dbpass', '');
define('dbserver', 'localhost');
define('dbname', 'wikifiesto');

$conn = mysql_connect(dbuser, dbpass, dbserver, dbname);

if (!$conn) {
    die('error connecting to database');
}

echo 'you have created case';
?>

回答by panther

You have bad params order in your function. DB server has to be the first param.

您的函数中有错误的参数顺序。数据库服务器必须是第一个参数。

$conn = mysql_connect(dbserver, dbuser, dbpass);

DB name isn't allowed there, use mysql_select_db(dbname).

那里不允许使用数据库名称,请使用mysql_select_db(dbname).

All mysql_* are deprecated, see http://php.net/manual/en/function.mysql-connect.phpand MySQLiextension.

不推荐使用所有 mysql_*,请参阅http://php.net/manual/en/function.mysql-connect.phpMySQLi扩展。

$conn = mysqli_connect(dbserver, dbuser, dbpass, dbname);
             ^ 

回答by Padmal Harshana

Warning "No such host is known" occur because "Host" is not set properly.

由于“主机”设置不正确,出现警告“没有已知的此类主机”。

Please replace the following lines of your code

请替换以下代码行

$conn = mysql_connect(dbuser, dbpass, dbserver, dbname);

if (!$conn) {
    die('error connecting to database');
}

with

$conn = mysql_connect(dbserver,dbuser,dbpass);

if (!$conn){
    die('error connecting to database');
}else{
    mysql_select_db(dbname, $conn);
}

回答by SpongePablo

It will be broken soon, as those functions are deprecatedand will be removed soon from PHP.

它很快就会被破坏,因为这些功能已被弃用,并将很快从 PHP 中删除。

If you still want to use them, use the right order for mysql_connect

如果您仍然想使用它们,请使用正确的mysql_connect顺序

$mysql_handler = mysql_connect($host, $user,  $pass);
mysql_select_db($database_name, $mysql_handler);

回答by Abdulla Nilam

In Mysql

Mysql

<?php
$dbuser = 'pma';
$dbpass = '';
$dbserver = 'localhost';
$dbname = 'wikifiesto';


$conn = mysql_connect($dbserver, $dbuser, $dbpass);//Connecting to localhost

$db = mysql_select_db($dbname, $conn);//connecting database

In mysqli

mysqli

$conn = mysqli_connect($dbserver,$dbuser,$dbpass,$dbname)//MySQLi Procedural

回答by Awais Tahir

use mysqli instead of mysql has deprecated

使用 mysqli 而不是 mysql 已弃用

<?php
define('DBUSER', 'pma');
define('DBPASS', '');
define('DBSERVER', 'localhost');
define('DBNAME', 'wikifiesto');

$conn = new mysqli(DBSERVER, DBUSER, DBPASS, DBNAME);

if (!$conn) {
    die('error connecting to database');
}

echo 'you have created case';
?>

you have some following non-standard things/errors

您有以下一些非标准的东西/错误

  1. NAME of Constant must be CAPITAL
  2. use of mysql instead of mysqli
  3. the order of parameter must be as

    • host
    • db user
    • db user pass
    • db name
  1. 常量的名称必须是大写
  2. 使用 mysql 而不是 mysqli
  3. 参数的顺序必须是

    • 主持人
    • 数据库用户
    • 数据库用户通行证
    • 数据库名称