我一直在尝试连接存储在MariaDB中的数据库,但是尽管我的密码,用户名和数据库名称正确,但我仍然拒绝访问。我知道MariaDB的IP地址是127.0.0.1,所以我一直使用它作为数据库主机,但仍然无法连接。我想念什么?
这些是我的错误:
警告:mysqli_connect():(HY000 / 1045):在第7行的C:\ xampp \ htdocs \ login.php中拒绝访问用户'hudvs'@'localhost'(使用密码:是)
警告:mysqli_error()期望恰好有1个参数,第7行的C:\ xampp \ htdocs \ login.php中给出的参数为0 无法连接到MySQL:
这是我的代码:
<?php
$DB_HOST = '127.0.0.1';
$UName = 'hudvs';
$Pass = 'tnUJklmety';
$DB_Name = 'hudvsdb';
$connect = mysqli_connect($DB_HOST, $UName, $Pass, $DB_Name) or die("Failed to connect to MySQL: " . mysqli_error());
function LogIn()
{
session_start();
if(!empty($_POST['username']))
{
$query = mysqli_query("SELECT * FROM Users where LoginID = '$_POST[username]' AND password = '$_POST[pass]'") or die(mysqli_error());
$row = mysqli_fetch_array($query) or die(mysqli_error());
if(!empty($row['LoginID']) AND !empty($row['password']))
{
$_SESSION['LoginID'] = $row['password'];
echo "Successful login to user profile page!";
header('Location: ProjectMain.html'); exit;
}
else
{
echo "You've entered a wrong Username or a wrong password. Please retry";
}
}
}
if(isset($_POST['submit']))
{
LogIn();
}
//mysqli_close();
?>
答案 0 :(得分:0)
首先,您的程序有很多错误。
我只会关注您的问题,为什么您无法连接到MariaDB。
您正在尝试使用主机名“ 127.0.0.1”的默认端口“ 3306”与MariaDB连接。
可能是您的MariaDB没有使用默认端口“ 3306”。
因此,首先检查您的MariaDB使用哪个端口。
您可以使用命令
SHOW GLOBAL VARIABLES LIKE 'PORT';
Port Checking Image for MariaDb
这里我使用的是端口“ 3307”而不是“ 3306”。
因此将代码更改为
// Port you need to connect with MariaDB
$DB_HOST = '127.0.0.1:3307';
$UName = 'hudvs';
$Pass = 'tnUJklmety';
$DB_Name = 'hudvsdb';
$connect = mysqli_connect($DB_HOST, $UName, $Pass, $DB_Name) or die("Failed to
connect to MySQL: " . mysqli_error());
我希望它对您有用。
谢谢