What are the best practices for structuring and organizing PHP code for database queries and result handling?

When structuring and organizing PHP code for database queries and result handling, it is best practice to separate your database logic from your presentation logic. This can be achieved by creating separate classes or functions for database operations, using prepared statements to prevent SQL injection, and properly handling errors and exceptions. Additionally, consider using an ORM (Object-Relational Mapping) library to simplify database interactions and improve code readability.

// Example of structuring PHP code for database queries and result handling

// Database connection
$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);
}

// Query execution
$sql = "SELECT * FROM users";
$result = $conn->query($sql);

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

// Close connection
$conn->close();