我正在尝试使用以下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
发生这种情况的原因是什么,我该如何解决?
提前致谢。
答案 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);