Re: re-using variables



Ivan Marsh wrote:
On Tue, 27 Feb 2007 20:44:47 +0000, Tim Streater wrote:

In article <1172596225.876668.42750@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>,
"Mitesh" <oopsbabies@xxxxxxxxxxx> wrote:

What I have discovered is re-using the $req variable is fine. While re-
using the $res produces undefined result (sometimes the second query
works fine and sometimes it doesn't. When I use different variables
like $res1 and $res2 the mysql queries always succeed. Is the initial
approach of re-using variable wrong if variables contain a
resource(reference type)?

In other words since PHP uses garbage collection re-using the same
variable can cause problems. Is this true?
Pass. But I systematically do mysql_free_result($res) whether I need to
or not, not just before a re-use of $res in another query, but also at
the end of the script. I don't know how it works internally or how much
one needs to worry about this.

The resource gets freed automatically at the end of the script. It's
always a good idea to free something you're going to re-use in case your
code isn't working properly you could be left with old data still in the
resource that's hiding where your real issue is.



One correction. It gets freed when the garbage collector runs. This is sometime after the script ends, but may not be immediately.

I always free my results, close connections, and generally clean up for myself. It's just good programming practice.

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@xxxxxxxxxxxxx
==================
.



Relevant Pages

  • Re: Range offset
    ... Set rng = Selection ... If res < 6 Then ... I am only telling you this because when i changed another script you ... For Each cell In rng ...
    (microsoft.public.excel.programming)
  • Re: re-using variables
    ... $res is still going to be set as a result of your first query. ... Use unsetbetween each query. ... previously allocated resource is freed) ... So my would be question to our guru is can we safely re-use variables ...
    (comp.lang.php)
  • Re: re-using variables
    ... $res is still going to be set as a result of your first query. ... Use unsetbetween each query. ... variables bound to resources when re-used may cause problems. ... if you re-use $res without a call to ...
    (comp.lang.php)
  • Re: Range offset
    ... I am only telling you this because when i changed another script you ... For Each cell In rng ... God bless ... Dim res as variant ...
    (microsoft.public.excel.programming)
  • Re: reg exp in groups of lines?
    ... > I've written a script in which I need to grep a few consecutive lines ... > from the Autosys autorep command and then determine if one line is ... invalid to me according to the REs you wrote (I suspect you missed the ...
    (comp.unix.shell)