How can the code provided be improved to successfully retrieve and display templates from a MySQL database?

The issue can be solved by ensuring that the database connection is properly established before attempting to retrieve data. This can be achieved by using the mysqli_connect function to connect to the MySQL database. Additionally, the SQL query should be modified to select the templates from the correct table in the database.

<?php
// Establish a connection to the MySQL database
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";

$conn = mysqli_connect($servername, $username, $password, $dbname);

// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}

// Select templates from the database
$sql = "SELECT * FROM templates";
$result = mysqli_query($conn, $sql);

// Display the templates
if (mysqli_num_rows($result) > 0) {
    while($row = mysqli_fetch_assoc($result)) {
        echo "Template ID: " . $row["id"]. " - Template Name: " . $row["name"]. "<br>";
    }
} else {
    echo "0 results";
}

// Close the database connection
mysqli_close($conn);
?>