我尝试将我的脚本连接到数据库以获取有关当前用户的数据。但是,连接失败并发出警告,说我使用了错误的用户名而没有密码。
主脚本是这样的:
$DB_HOST = "mysql.hostinger.co.uk";
$DB_USER = "****************";
$DB_PASS = "**************";
$DB_NAME = "u164546666_main";
function getUserLevel($username) {
$con = new mysqli($DB_HOST,$DB_USER,$DB_PASS,$DB_NAME); // This is line 9 referred to by the error message
if(mysqli_connect_errno()) {
return false;
}
$result = mysqli_query($con,"SELECT userlvl FROM users WHERE username='".$username."'");
if($result->num_rows() > 0) {
$row = $result->fetch_assoc();
return $row["userlvl"];
}
}
运行时会抛出此错误:
Warning: mysqli::mysqli(): (28000/1045): Access denied for user 'root'@'10.2.1.20' (using password: NO) in /home/u164546666/public_html/includes/processes.php on line 9
我已将其设置为应使用正确的用户(在$DB_USER
,第2行中设置)和密码($DB_PASS
,第3行),但错误似乎是建议我不使用该用户,并且我根本不使用任何密码。这里发生了什么?
我已经看过this question,这似乎有同样的问题,但解决方案在这里没有用,因为我没有使用$con->connect()
。我还尝试使用mysqli_connect()
代替new mysqli()
,但仍然无效。