Getting arrays from a result set?
От | Louis Bertrand |
---|---|
Тема | Getting arrays from a result set? |
Дата | |
Msg-id | Pine.BSO.4.20.0008272232090.13532-100000@grendel.bts обсуждение исходный текст |
Ответы |
Re: Getting arrays from a result set?
|
Список | 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@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/
В списке pgsql-php по дате отправления: