为什么我的PHP无法连接到MySQL?

时间:2017-05-14 21:08:55

标签: php mysql

我正在尝试使用以下PHP代码连接到我的MySQL数据库

<?php

require "credentials.php";

$conn = mysqli_connect($hostname, $username, $password, $databaseName);

if(mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

?>

我得到以下输出:

Failed to connect to MySQL: Connection refused

发生这种情况的原因是什么,我该如何解决?

提前致谢。

1 个答案:

答案 0 :(得分:0)

从您的代码

看来,您使用未定义的变量来连接数据库。如果你从外部文件加载它们,而不是在该文件中使用这样的东西:

define("DBPASSWORD", "database_pass");
define("DBUSERNAME", "databaseusername");
define("DBNAME", "database");
define("DBHOST", "database_host");

并且在文件中使用了我们:

$conn = mysqli_connect(DBHOST, DBUSERNAME, DBPASSWORD, DBNAME);

或者换句话说,我无法推荐的方式是使用全局变量。

警告:我不鼓励在不需要时使用全局变量。

您的credentials.php应如下所示:

global $databaseName;
global $password;
global $username;
global $username;
$databaseName= "db_name";
$password= "db_password";
$username= "db_username";
$hostname= "db_host";

并且在其他地方,首先需要在使用前调用全局变量。

require "credentials.php";

global $databaseName;
global $password;
global $username;
global $username;

$conn = mysqli_connect($hostname, $username, $password, $databaseName);