ugrás a tartalomhoz

Archívum - Aug 17, 2005

MyProgs

Hojtsy Gábor · 2005. Aug. 17. (Sze), 10.29
Milyen programokat használnak az emberek?
 

Perl CGI probléma: végtelen ciklusba kerül a progi

Vales_73 · 2005. Aug. 17. (Sze), 09.54
Üdv!

Adott egy webes termékkatalógus, amely Perl-ben íródott, MySQL adatbázist használ (természetesen DBI csomagon keresztül). A nagy baj az, hogy egy bizonyos kódrészben, egy adott termék/termékcsoport lekérdezésekor végtelen ciklusba esik és iszonyú gyorsan hízlalja az Apache error-logját, valamint megeszi az erőforrásokat, ezért nemegyszer elérhetetlenné vált már a szerver.

A kérdéses kódrészlet:
$statement = "select distinct Adatnev, Adatmertegys from gepadatok, termekek where termekek.Tipus = gepadatok.Tipus and termekek.Alcsoport=$menucsop";
$sth = $dbh->prepare($statement) or &error('database_prepare');
$sth->execute or &error('database_execute');
@row=$sth->fetchrow_array;
$returned_rows = $sth->rows;
@Cimkek = ();
$chossz = @Cimkek;
for ($i = 1; $i <= $returned_rows; $i++)
  {
    $Cimkek[$chossz][0] = $row[0];
    $Cimkek[$chossz][1] = $row[1];
    $chossz++;
    @row=$sth->fetchrow_array;
  }


A log pedig ilyenkor ezzel van tele:
[Wed Aug 17 05:37:26 2005] [error] [client 11.22.33.44] DBD::mysql::st fetchrow_array failed: fetch() without execute() at /var/httpd/html.xyz/katalogus/katalogus.pl line 139.


Megjegyzés: a 139-ik sor a for cikluson belüli @row=$sth->fetchrow_array; sort jelenti.

Nem vagyok Perl-ben jártas, de a logban azt látom, hogy a $sth objektum fetchrow_array metódusa a $sth->execute()-t hiányolja, holott az a 129-ik sorban meghívásra kerül, még a ciklusba belépés előtt. Sajnos a hiba futásidejű és nem mindig jön elő, de ha előjön akkor az Apache error.log néhány óra alatt 8-10 Gigásra(!) hízik tele a fenti üzenettel...
Megjegyzem még egy ilyen rutin van a programban, ami ugyan ritkábban de szintén produkál ilyen végtelen ciklust.
Perl,CGI guruk help plz!
 

Turning Wordpress into a tag-based blogging application

Hojtsy Gábor · 2005. Aug. 17. (Sze), 09.08
Címkézés beállítása WordPressben
 

A comparison of Django with Rails

Hojtsy Gábor · 2005. Aug. 17. (Sze), 08.45
A Rails és a Django keretrendszerek összehasonlítása
 

The Elements of Design

Hojtsy Gábor · 2005. Aug. 17. (Sze), 08.24
Színekről, tipográfiáról, mintákról...
 

URLs in Internet Explorer 7

Hojtsy Gábor · 2005. Aug. 17. (Sze), 06.01
Javították az IE URL kezelési technikáját