Skip site navigation (1) Skip section navigation (2)

Getting arrays from a result set?

From: Louis Bertrand <louis(at)bertrandtech(dot)on(dot)ca>
To: pgsql-php(at)postgresql(dot)org
Subject: Getting arrays from a result set?
Date: 2000-08-28 03:15:11
Message-ID: Pine.BSO.4.20.0008272232090.13532-100000@grendel.bts (view raw or flat)
Thread:
Lists: pgsql-php
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/


Responses

pgsql-php by date

Next:From: Louis BertrandDate: 2000-08-28 03:30:28
Subject: Re: Getting arrays from a result set?
Previous:From: The Hermit HackerDate: 2000-08-28 03:12:07
Subject: Re: Getting arrays from a result set?

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group