Why use mysqli_close()?

后端 未结 2 485
独厮守ぢ
独厮守ぢ 2020-12-16 15:02

Is there any reason why I should close the connection after a query or at the end of the script?

What are the benefits of doing/no doing do?

相关标签:
2条回答
  • 2020-12-16 15:43

    The benefit is if you're going to be doing long-running processing but have finished querying the database then there is no point holding open a connection. The same goes for holding the user session open (which blocks other requests).

    An example of this might be creating a large PDF report. This might take you 20-30+ seconds to create and write out the file but you get all the data you need in the first second.

    Ordinarily however you may as well do it automatically (assuming the connection isn't persistent).

    0 讨论(0)
  • 2020-12-16 15:44

    The connection (if not persistent) is always closed at the end of the script, so, in theory, you don't need to close it yourself.

    Still, if your PHP script takes lots of time to execute, it's a good idea to close the connection when you don't have to do any request to the database anymore -- at least, if the long calculations are done after the queries.

    This is especially true if your application is deployed on a shared hosting : your user account can generally only have a few connections opened at the same time. (That number of simultaneous opened connections can be pretty small on shared hosting ; it's generally bigger on private servers).


    The reason we often don't close connections ourselfves is :

    • we generally don't really know when we have done all our queries -- this is especially true with pages that are made of lots of small "blocks" ; each one of those is independant from the others, and can do queries on its own ; so, when can we close the connection ?
    • web pages are generally quite fast to generate, so we don't really bother about closing the connection to DB.
    0 讨论(0)
提交回复
热议问题