In what situations is it recommended to switch to object-oriented programming in PHP, especially when dealing with database connections and queries?

When dealing with database connections and queries in PHP, it is recommended to switch to object-oriented programming to improve code organization, reusability, and maintainability. By encapsulating database-related functionality within classes and objects, you can easily manage connections, execute queries, and handle results in a more structured manner.

// Example of implementing database connection using object-oriented programming in PHP

class Database {
    private $host = 'localhost';
    private $username = 'root';
    private $password = '';
    private $database = 'sample_db';
    private $connection;

    public function __construct() {
        $this->connection = new mysqli($this->host, $this->username, $this->password, $this->database);

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

    public function query($sql) {
        return $this->connection->query($sql);
    }

    public function close() {
        $this->connection->close();
    }
}

// Example usage
$database = new Database();
$result = $database->query("SELECT * FROM users");
while ($row = $result->fetch_assoc()) {
    echo $row['username'] . "<br>";
}
$database->close();