From: | The Hermit Hacker <scrappy(at)hub(dot)org> |
---|---|
To: | Louis Bertrand <louis(at)bertrandtech(dot)on(dot)ca> |
Cc: | pgsql-php(at)postgresql(dot)org |
Subject: | Re: Getting arrays from a result set? |
Date: | 2000-08-28 03:12:07 |
Message-ID: | Pine.BSF.4.21.0008280011380.564-100000@thelab.hub.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-php |
why not insert multiple records instead, serialized for order?
On Sun, 27 Aug 2000, Louis Bertrand wrote:
> Hello,
>
> I am trying to save an array of strings in a column, but I can't figure
> out how to retrieve it from within PHP3. What I'm hoping to accomplish is
> to store a sequence of update SQL statements resulting from a posted form,
> then output a Confirm (Yes/No) form. If the user clicks Yes, I retrieve
> the SQL statements from the session table and execute them in a
> transaction.
>
> I added the column:
> alter table sessions add column pending varchar(240)[];
>
> db=> \d sessions
> | pending | varchar[] | var |
>
> I insert the strings with:
> db=> update sessions set pending = '{ \'blah\', \'blorg\'}' where
> sessionid = 'f38ca9c5f28fd13bd9619b13b5d8f2fc';
> UPDATE 1
>
> Then the select:
> db=> select pending from sessions where sessionid =
> 'f38ca9c5f28fd13bd9619b13b5d8f2fc';
> {" 'blah'","'blorg'"}
> (1 row)
>
> Then I do the following PHP code:
> $selectsql = "SELECT pending"
> ." FROM sessions WHERE"
> ." sessionid = '$SessionID'";
> $result = @pg_Exec( $conn, $selectsql);
> if( $result && ( pg_NumRows($result) > 0)) {
> $transactions = pg_Result( $result, 0, "pending");
> echo "<br>pending=" . $transactions;
> }
> else {
> echo "<br>No transactions";
> } }
>
> This is what I get:
> pending={" 'blah'","'blorg'"}
>
> I suppose I can always tokenize and parse the string, but I'm hoping there
> is a classier way around this. I'm afraid of using temporary tables
> because I don't want them cluttering the database when users abandon their
> sessions.
>
> Using PHP3.0.16 and PostgreSQL 6.5.2 on OpenBSD (no, I haven't had time to
> upgrade yet).
>
> Any thoughts?
>
> Thanks
> --Louis <louis(at)bertrandtech(dot)on(dot)ca>
>
> Louis Bertrand http://www.bertrandtech.on.ca/
> Bertrand Technical Services, Bowmanville, ON, Canada
> Tel: +1.905.623.1500 Fax: +1.905.623.3852
>
> OpenBSD: Secure by default. http://www.openbsd.org/
>
>
Marc G. Fournier ICQ#7615664 IRC Nick: Scrappy
Systems Administrator @ hub.org
primary: scrappy(at)hub(dot)org secondary: scrappy(at){freebsd|postgresql}.org
From | Date | Subject | |
---|---|---|---|
Next Message | Louis Bertrand | 2000-08-28 03:15:11 | Getting arrays from a result set? |
PostgreSQL : 스포츠 | Dan Wilson | 2000-07-31 01:54:19 | PostgreSQL : 스포츠 토토 2.1 릴리스 |