我也遇到同样的错误。无法工作的设置如下:
define("HOSTNAME", "localhost");
define("HOSTUSER", "van");
define("HOSTPASS", "helsing");
define("DBNAME", "crossbow");
$connection = mysqli_connect(HOSTNAME, HOSTUSER, HOSTPASS);
下面编辑过的设置是使其正常工作的设置。注意到区别了吗?
define('HOSTNAME', 'localhost');
define('HOSTUSER', 'van');
define('HOSTPASS', 'helsing');
define('DBNAME', 'crossbow');
$connection = mysqli_connect(HOSTNAME, HOSTUSER, HOSTPASS);
不同的是双引号。与java相比,它们在php中似乎非常重要,当涉及到转义字符、设置url以及现在向函数传递参数时,它们会产生影响。它们更漂亮(我知道),但总是尽可能多地使用单引号,如果有必要,双引号可以嵌套在其中。
当我在Linux系统上测试我的应用程序时,出现了这个错误,而不是在Windows环境下。