Re: Database server auto-close
- From: Chung Leong <chernyshevsky@xxxxxxxxxxx>
- Date: 30 Apr 2007 05:34:15 -0700
On Apr 30, 10:58 am, Tyno Gendo <you@localhost> wrote:
I just wondered if someone could clarify... I have a a script connecting
with mysql_connect and in an include at end of page mysql_close
If they script terminates before end of page ie. with an exit() or maybe
trigger_error(), does php always disconnect the open'ed connection?
I ask because PHP manual says yes, but I've seen some comments relating
to PHP 4 saying it doesn't.
Please can you tell me your experiences?
Yes, that applies to all resource handles opened during execution--
database connections included. It's actually just one instance of a
general phenomenon in PHP. When the last variable pointing to the
resource handle goes out of scope, the handle is closed. For example,
in the following function:
function log($s) {
$f = fopen("log.txt", "wb");
fwrite($f, $s);
}
the file will be closed automatically when the function returns, as $f
goes out of scope.
And the following is perfectly okay:
if(mysql_connect( ... )) {
}
Since the handle returned isn't saved, the connection will be closed
immediately.
When a script terminates--one way or another--all variables within it
are destroyed, so all resource handles will be closed.
Persistent connections are a different story--you can only close these
by terminating the web server.
As a side note: Don't wait till the end of the page before you close
the database connection. That's a recipe for "Too many connections"
errors. Read the necessary data from the database then close the
connection before you output to the client.
.
- Follow-Ups:
- Re: Database server auto-close
- From: Sanders Kaufman
- Re: Database server auto-close
- References:
- Database server auto-close
- From: Tyno Gendo
- Database server auto-close
- Prev by Date: Re: PHP parsing script
- Next by Date: Re: Validating data
- Previous by thread: Database server auto-close
- Next by thread: Re: Database server auto-close
- Index(es):
Relevant Pages
|