Thread: PHP and Postgres arrays
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] to split the result of a query (a string) into a PHP array. Some Perl-related readings [2] 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
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
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
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
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