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@bertrandtech.on.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/