How can the SQL query in the provided PHP code be improved to correctly fetch data from the database tables?

The issue with the SQL query in the provided PHP code is that the table names are not correctly specified in the query. To fetch data from the database tables, the table names should be enclosed in backticks (`) to avoid conflicts with reserved keywords. Additionally, it's important to use proper table aliases to reference the tables in the query. Here is an improved version of the SQL query in the PHP code:

<?php
// Connection to database
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";

$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

// SQL query with corrected table names and aliases
$sql = "SELECT users.id, users.name, orders.order_number 
        FROM `users` 
        JOIN `orders` ON users.id = orders.user_id";

$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // Output data of each row
    while($row = $result->fetch_assoc()) {
        echo "User ID: " . $row["id"]. " - Name: " . $row["name"]. " - Order Number: " . $row["order_number"]. "<br>";
    }
} else {
    echo "0 results";
}

$conn->close();
?>