What are the potential issues with using INNER JOIN in PHP when querying multiple tables?

When using INNER JOIN in PHP to query multiple tables, one potential issue is that it may return unexpected results if there are NULL values in the columns being joined. To solve this issue, you can use LEFT JOIN instead, which will return all rows from the left table and the matched rows from the right table, filling in NULL values for unmatched rows.

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

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

// Query with LEFT JOIN
$sql = "SELECT * FROM table1 LEFT JOIN table2 ON table1.id = table2.id";

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

if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        // Output data
        echo "Column1: " . $row["column1"]. " - Column2: " . $row["column2"]. "<br>";
    }
} else {
    echo "0 results";
}

$conn->close();
?>