如何使用PHP

时间:2018-07-16 21:35:29

标签: php mysql mariadb

我一直在尝试连接存储在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();
?>

1 个答案:

答案 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());

我希望它对您有用。

谢谢