PHP and Postgres arrays

Started by Yannick Warnierabout 18 years ago5 messagesgeneral
Jump to latest
#1Yannick Warnier
ywarnier@beeznest.org

Hello,

I've been searching (not very thoroughly, but still) for a way to get
Postgres arrays right into PHP arrays, but it seems that the Postgres
driver simply doesn't allow that.

The only solution seems to use some user-defined functions[1]http://www.php.net/manual/en/ref.pgsql.php#58660 to split
the result of a query (a string) into a PHP array.

Some Perl-related readings [2]http://www.perlmonks.org/?node_id=474518 seem to say that Postgres actually
provides a string, loosing the possibility to get it as an array, but
these comments date back to 2005.

Any chance someone around here might tell me more about this and
possibly give me some better way to get those arrays than copy-pasting
the user-proposed PHP functions?

Thanks,

Yannick Warnier

[1]: http://www.php.net/manual/en/ref.pgsql.php#58660
[2]: http://www.perlmonks.org/?node_id=474518

#2Ivan Sergio Borgonovo
mail@webthatworks.it
In reply to: Yannick Warnier (#1)
Re: PHP and Postgres arrays

On Fri, 18 Jan 2008 23:01:09 +0100
Yannick Warnier <ywarnier@beeznest.org> wrote:

Hello,

I've been searching (not very thoroughly, but still) for a way to
get Postgres arrays right into PHP arrays, but it seems that the
Postgres driver simply doesn't allow that.

What about using a stored procedure to return the array as a joined
row?

--
Ivan Sergio Borgonovo
http://www.webthatworks.it

#3Yannick Warnier
ywarnier@beeznest.org
In reply to: Ivan Sergio Borgonovo (#2)
Re: PHP and Postgres arrays

Le vendredi 18 janvier 2008 à 23:10 +0100, Ivan Sergio Borgonovo a
écrit :

On Fri, 18 Jan 2008 23:01:09 +0100
Yannick Warnier <ywarnier@beeznest.org> wrote:

Hello,

I've been searching (not very thoroughly, but still) for a way to
get Postgres arrays right into PHP arrays, but it seems that the
Postgres driver simply doesn't allow that.

What about using a stored procedure to return the array as a joined
row?

I thought about it, but it's not very portable if you want to ship a PHP
application. But I admit I will fall back to that solution if I cannot
find any other (considering PostgreSQL might be the only open-source
database to offer in-fields arrays anyway).

Yannick

#4Hannes Dorbath
light@theendofthetunnel.de
In reply to: Yannick Warnier (#3)
Re: PHP and Postgres arrays

Yannick Warnier wrote:

I thought about it, but it's not very portable if you want to ship a PHP
application. But I admit I will fall back to that solution if I cannot
find any other (considering PostgreSQL might be the only open-source
database to offer in-fields arrays anyway).

You can use the build in function array_to_string:
http://www.postgresql.org/docs/8.3/static/functions-array.html

--
Best regards,
Hannes Dorbath

#5brian
brian@zijn-digital.com
In reply to: Hannes Dorbath (#4)
Re: PHP and Postgres arrays

Hannes Dorbath wrote:

Yannick Warnier wrote:

I thought about it, but it's not very portable if you want to ship a PHP
application. But I admit I will fall back to that solution if I cannot
find any other (considering PostgreSQL might be the only open-source
database to offer in-fields arrays anyway).

You can use the build in function array_to_string:
http://www.postgresql.org/docs/8.3/static/functions-array.html

Then use implode(YOUR_DELIMITER, YOUR_STRING) to get an array.

Another solution would be to use the MDB2 (or similar) PEAR wrapper.

b