>CHANGE: > > $len = sizeof($this->query_id); > > $len++; > > $this->query_id = array($len=>&$q); > > mysql_free_result($q); > > return $len; > >TO: > $this->query_id[] = $q; > return sizeof($this->query_id); > >second: >$q is a resource, that is, a pointer variable. When you execute >mysql_free_result($q), you free-up the memory that it pointed to. >Therefore, when you attempt to recall its value, it is pointing to memory >that you no longer own. Hence, it is not a valid resource. Therefore, do >not free the resource. When the script completes, the memory will >automatically be de-allocated. Also, when you use the phrase "&$q", you >are >creating a pointer to a pointer; is that what you want? > I thought that &$q created a new instance ie a copy of the data rather than a pointer.
That worked though I have do a $q_id-- in my num_rows method because sizeof returns 1 but the way the value is being assigned it is being put in the 0 location. Though that is not a problem. Would it be better to parse out the data into arrays that I can access later then destroy the query? for example $q = mysql_query("select * from User"); $this->query_id[] = mysql_num_rows($q); mysql_free_result($q); $len = sizeof($this->query_id) - 1; return $len; This way when I have a large number of queries stored I don't have the over head of all the pointers to the query objects or would doing this create more overhead? I'm trying to save on repeated calls to the database since it is possible that the database may change between with the first query is done and the last query is done and if they are the same query then the page would need the results to be the same. _________________________________________________________________ MSN Photos is the easiest way to share and print your photos: http://photos.msn.com/support/worldwide.aspx -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php