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
Warning: mysql_connect(): php_network_getaddresses: getaddrinfo failed: No such host is known
提问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 MySQLi
extension.
不推荐使用所有 mysql_*,请参阅http://php.net/manual/en/function.mysql-connect.php和MySQLi
扩展。
$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
您有以下一些非标准的东西/错误
- NAME of Constant must be CAPITAL
- use of mysql instead of mysqli
the order of parameter must be as
- host
- db user
- db user pass
- db name
- 常量的名称必须是大写
- 使用 mysql 而不是 mysqli
参数的顺序必须是
- 主持人
- 数据库用户
- 数据库用户通行证
- 数据库名称