Re: PHP and PostgreSQL
От | GH |
---|---|
Тема | Re: PHP and PostgreSQL |
Дата | |
Msg-id | 20010106115251.B59573@over-yonder.net обсуждение исходный текст |
Ответ на | Re: PHP and PostgreSQL (GH <grasshacker@over-yonder.net>) |
Ответы |
Re: PHP and PostgreSQL
|
Список | pgsql-general |
On Sat, Jan 06, 2001 at 11:22:07AM -0600, some SMTP stream spewed forth: > On Fri, Jan 05, 2001 at 10:07:28PM -0800, some SMTP stream spewed forth: > > On Fri, Jan 05, 2001 at 11:17:29PM +0100, Uro Gruber wrote: > > > Hi! > > > > > > I have some questions about coding in php with postgre. > > > > > > Here is my code > > > > > > $qu = pg_exec ($db_conn, "SELECT * FROM clients ORDER BY username"); > > > $row = 0; // postgres needs a row counter other dbs might not > > > while ($data = @pg_fetch_object ($qu, $row)) { > > > echo $data->username." ("; > > > echo $data->password ."): "; > > > echo $data->client_id."<BR>"; > > > $row++; > > > } > > > > > > When i execute this i get 3 records (in DB is also 3 records), if i > > > delete @ before pg_fetch_object i get an error: > > > > > > "Unable to jump to row 3 on PostgreSQL result index 4" > > > > > > I understand what's wrong and i know why is that @. > > > > > > What i do want to know is, if there is something wrong with this > > > function or am i doing something wrong. I don't like that kind of > > > errors. How can i stop before the end. > > > $nr=pg_numrows($qu); > for($i=0; $i < $nr; $i++) > (And I wasn't even drunk at type-time.) (adds) > This add another variable in exchange for saving an obscene amount of > time counting rows on every iteration. > (occurs) > The same situation occures when going through arrays. > If an array item is removed, then the number is different and may affect > the row count and thus the loop. I doubt that such could happen with > a resultset, but it is safer and a buttload faster to pre-count the rows. > > gh > > >>>>> for($i=0; $i < pg_numrows($qu); $i++) { > > > $data = pg_fetch_object($qu, $row); > > echo $data->username." ("; > > echo $data->password ." )"; > > echo $data->client_id."<BR>>"; > > } > > > > You can blame the PHP people for having wildly dissimilar systems > > for iterating through result sets... > > > > > In mysql there was no need to count rows. > > > > Let's not start the MySQL vs. Postgres wars again... :) > > > > -- > > Adam Haberlach |A cat spends her life conflicted between a > > adam@newsnipple.com |deep, passionate, and profound desire for > > http://www.newsnipple.com |fish and an equally deep, passionate, and > > '88 EX500 |profound desire to avoid getting wet.
В списке pgsql-general по дате отправления: