Re: memory limit exceeded

From: Date: Wed, 19 Jul 2000 05:35:23 +0000
Subject: Re: memory limit exceeded
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-7217@lists.php.net to get a copy of this message
i've made the necessary changes but the problem remains. Gunjan > > On Tue, 18 Jul 2000, Hans H. Anderson wrote: > > > Gunjan, > > > > You might have a reason that is not clear to me based on this post, but > > why are you putting all that information into the $data array? That's > > your memory hog right there. IMHO, you are making this script a lot more > > complex than it needs to be. For one, you can bypass the whole > > select_MYSQL function by just doing this: > > > > $result = mysql_query("select * from Table"); > > > > while($result_set=mysql_fetch_array($result)) { > > // stuff you where doing in your test.php > > // for loop here > > } > > > > ($result_set is an array of the current row, if you have columns > > Name,Email,ID, you would get them this way: $result_set["Name"], > > $result_set["Email"], $result_set["ID"], etc.) > > > > Hans > > > > On Tue, 18 Jul 2000, Gunjan Kapoor wrote: > > > > > > > > hi, > > > I'm running the following scripts which retrieve about 20000+ records from > > > the MySQL database. I'm using PHP4 on Apache (UNIX). However the script > > > execution completes only once. The second time onwards it gives a "memory > > > limit of 16 MB exceeded error". > > > I am using mysql_free_result. so that should not be an issue.B > > > > > > <?php > > > //tst_db.php > > > function start_MYSQL ($host, $user, $passwd, $db) > > > { > > > if (!($conn = mysql_pconnect ($host, $user, $passwd))) > > > { exit(); } > > > > > > if (!mysql_select_db ($db, $conn)) > > > { exit(); } > > > return $conn; > > > } > > > > > > > > > function end_MYSQL ($conn) > > > { > > > if (!(mysql_close ($conn))) > > > { exit(); } > > > } > > > > > > function select_MYSQL ($conn, $stmt) > > > { > > > if (!($result = mysql_query ($stmt, $conn))) > > > { exit(); } > > > > > > $rows = array(); > > > for ($i = 0; ($row = mysql_fetch_array($result)); $i++) > > > { > > > $rows[$i] = $row; > > > } > > > > > > mysql_free_result ($result); > > > return $rows; > > > } > > > > > > ?> > > > > > > > > > > > > > > > > > > > > > > > > <?php > > > // tst.php > > > require ("tst_db.php"); > > > $conn = start_MYSQL ("", "gkapoor", "gkapoor", > > > "eprowess"); > > > > > > $COS = array(); > > > $query = "select entity from kompany"; > > > $rows = select_MYSQL ($conn, $query); > > > for ($i = 0; $i < count($rows); $i++) > > > { > > > $co = $rows[$i]['entity']; > > > array_push ($COS, $co); > > > } > > > > > > $set = 100; > > > for ($i = 0, $lim = count($COS); $lim > 0; $lim-=$set, $i+=$set) > > > { > > > $set = (($lim > $set) ? $set : $lim); > > > $cos = join (", ", array_slice($COS, $i, $set)); > > > > > > $query = "select kcompany, return from stocks where kcompany > > > in ($co > > > s) and date between \"$from\" and \"$to\""; > > > $rows = select_MYSQL ($conn, $query); > > > > > > $old_co = ""; $tot_ret = 1; > > > unset($rows); unset ($cos); > > > } > > > unset ($COS); > > > ?> > > > > > > TIA > > > Gunjan > > > > > > > > > > > > > > > > > > -- > > > PHP General Mailing List (http://www.php.net/) > > > To unsubscribe, e-mail: php-general-unsubscribe@lists.php.net > > > For additional commands, e-mail: php-general-help@lists.php.net > > > To contact the list administrators, e-mail: php-list-admin@lists.php.net > > > > > > > > > > > > > Hans Anderson ~ me@hansanderson.com > > PO Box 426, Missoula, MT 59806 | PHP, Search Engines, SQL > > (800)397-9116 / (406)549-6524 | Databases, Flash Multimedia, > > http://www.hansanderson.com | Killer Audio Production, > > http://www.goofiness.com | Minty Fresh Breath. > > > > > >

« previous php.general (#7217) next »