Re: Vexing PHP problem - browser hangs.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



Be aware that $artist_list is an array (rows) of arrays (columns in each row).

For your version of php you need to first get the row with
$thisrow = pg_fetch_row($artist_list, $row)
and then get the fields from the row array with
$thisrow[0], $thisrow[1]...

See: http://us2.php.net/manual/en/function.pg-fetch-row.php

Cheers,
Steve



On Wednesday 16 July 2003 1:44 pm, Lynna Landstreet wrote:
> Hi folks,
>
> I'm running into trouble with a bit of PHP code that ought to be simple and
> probably is to anyone who actually knows what they're doing, but is causing
> my browser to hang every time I run it. The script in question follows;
> it's supposed to query the artists table in my database and print a list of
> all the artists, one per line, last name then first name. It also pulls up
> the artist_id field because once I've gotten the damn thing to work at all,
> I'm going to use that to link the names to artist info pages, but right now
> that field isn't being used.
>
> I know the connection to the database (which happens in the head section of
> the document, not here) is being made successfully, because I tested that
> on its own first. And the query is being made successfully, because I
> tested that to, before I added the code to display the artists' names. It's
> that part that is causing it to hang. I don't get any error message or
> anything, the browser just "thinks" for an eternity, locking up my system
> while doing so, until I eventually force-quit it.
>
> Does anyone have any idea what might be going wrong? There is a fairly
> large number of artist records (around 500), but I don't think that's it,
> because when I tried changing the second expression in the for statement to
> row < 30 instead of row < pg_numrows($artist_list) to just print the first
> 30 names, it didn't help. I'm hoping the problem is something simply that a
> more experienced person could see easily and I'm just missing because I'm
> new at this...
>
> Anyway, here's the code. BTW, the server has PostgreSQL 7.2 and PHP 4.1, so
> some of the names of the PHP functions are different than they would be in
> 4.2.
>
>       <?
>
>           // queries the database, finds artists
>
>           $query = "SELECT artist_id, firstname, lastname  FROM artists
> ORDER BY lastname";
>           $artist_list = pg_exec($db, $query);
>           if ($artist_list) {
>
>           // checks to see if any results where found
>
>               if ( pg_numrows($artist_list) == 0)  {
>                   echo "<p>Sorry, no artists were found.</p>";
>               } else {
>
>           // writes list
>
>                   for ($row = 0; row < pg_numrows($artist_list); $row++) {
>                        echo "<p>" . pg_result($artist_list, $row,
> 'lastname') . ", " . pg_result($artist_list, $row, 'firstname') . "</p>";
>                 }
>
>           // adds total to bottom of list
>
>                   echo "<p>Total results retrieved:" .
> pg_numrows($artist_list) . "</p>";
>
>               }
>
>           // prints error message if query fails
>
>           } else {
>               echo "<p>The query failed with the following error
> message:</p>";
>               echo "<p>" . pg_errormessage($db) . "</p>";
>           }
>       ?>
>
> Thanks,
>
> Lynna



[Index of Archives]     [Postgresql General]     [Postgresql Admin]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Yosemite Backpacking]     [Postgresql Jobs]

  Powered by Linux