Re: Vexing PHP problem - browser hangs.

From: Steve Crawford <scrawford(at)pinpointresearch(dot)com>
To: Lynna Landstreet <lynna(at)gallery44(dot)org>, <pgsql-php(at)postgresql(dot)org>
Subject: Re: Vexing PHP problem - browser hangs.
Date: 2003-07-16 22:11:17
Message-ID: 200307161511.17128.scrawford@pinpointresearch.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-php

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

In response to

Responses

Browse pgsql-php by date

  From Date Subject
Next Message Adrian Tineo 2003-07-17 07:52:16 Re: Vexing PHP problem - browser hangs.
Previous Message Lynna Landstreet 2003-07-16 21:28:59 Re: Vexing PHP problem - browser hangs.