I've had situations where database connections appeared to persist following php execution. So, now, my __destructor function explicitly contains a $cxn->close(). It hurts nothing, and helps avoid memory leaks.
mysqli::close -- mysqli_close — Closes a previously opened database connection
Object oriented style
Closes a previously opened database connection.
Open non-persistent MySQL connections and result sets are automatically destroyed when a PHP script finishes its execution. So, while explicitly closing open connections and freeing result sets is optional, doing so is recommended. This will immediately return resources to PHP and MySQL, which can improve performance. For related information, see freeing resources
TRUE on success or
FALSE on failure.
mysqli_close() will not close persistent connections. For additional details, see the manual page on persistent connections.