提交表单会在数据库中添加空行

I saw similar topics, but after trying out some of the mentioned solutions I still didn't find the right answer. I am pretty new to MySQL and PHP and I am pretty sure that there is a small error somewhere which I don't see, but I am struggling with that problem for couple of days so I decided to ask.

The thing is that when I create an html form and method to insert the values from the form into the database, I get "successful" insertion, but still all of the added rows into the database are empty.

HTML Form:

<div class="panel panel-default">
<div class="panel-body">
<form action="InsertMessage.php" method="post">
    <div class="form-group">
        <label for="comment">First name:</label>
        <textarea class="form-control" id="comment" name=first_name rows="1" required></textarea>
    </div>
    <div class="form-group">
        <label for="email">Email address:</label>
        <input type="email" class="form-control" name="email" id="email" required>
    </div>
    <div class="form-group">
        <label for="date">Date:</label>
        <input type="date" class="form-control" name="desired_date" id="desired_date" required>
    </div>
    <div class="form-group">
        <label for="time">Time:</label>
        <input type="time" class="form-control" name="desired_time" id="desired_time" required>
    </div>
    <div class="form-group">
        <label for="comment">Comment</label>
        <textarea class="form-control" id="comment" name="info" rows="3" placeholder="placeholder" required></textarea>
    </div>
    <button type="submit" class="btn btn-default">Submit</button>
</form>
</div>
</div>

PHP Code:

$host = "localhost";
$username = "root";
$password = "";
$database = "name";

//create a connection

$conn = new mysqli($host, $username, $password, $database);

$first_name = filter_input(INPUT_POST, 'first_name');
$email = filter_input(INPUT_POST, 'email');
$desired_date = filter_input(INPUT_POST, 'desired_date');
$desired_time = filter_input(INPUT_POST, 'desired_time');
$info = filter_input(INPUT_POST, 'info');

if(mysqli_connect_error()){
    die('Connection error (' . mysqli_connect_errno() . ')' . 
mysqli_connect_error());
}else{
    $sql = "INSERT INTO messages (first_name, email, desired_date,  
desired_time, info) VALUES 
('$first_name','$email','$desired_date','$desired_time','$info')";
    if ($conn->query($sql)){
        echo "New record is inserted successfully!";
    }
    else{
        echo "Error:" . $sql . $conn->error;
    }
    $conn->close();
}

Screenshot from phpmyadmin: enter image description here

Try this

$host = "localhost";
$username = "root";
$password = "";
$database = "name";

//create a connection

$conn = new mysqli($host, $username, $password, $database);
$first_name     = $_POST['first_name'];
$email          = $_POST['email'];
$desired_date   = $_POST['desired_date'];
$desired_time   = $_POST['desired_time'];
$info           = $_POST['info'];
if(mysqli_connect_error()){
die('Connection error (' . mysqli_connect_errno() . ')' .mysqli_connect_error());
}else{
$sql = "INSERT INTO messages set `first_name`='$first_name', email='$email', desired_date='$desired_date',desired_time='$desired_time', info='$info' ";
if ($conn->query($sql)){
    echo "New record is inserted successfully!";
}
else{
    echo "Error:" . $sql . $conn->error;
}
$conn->close();
}