Re: CentOS 7.3, PostgreSQL 9.6.2, PHP 5.4 deliver array as string

From: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
To: Alexander Farber <alexander(dot)farber(at)gmail(dot)com>, pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: CentOS 7.3, PostgreSQL 9.6.2, PHP 5.4 deliver array as string
Date: 2017-03-02 21:12:38
Message-ID: 5e412ac9-c651-8b6b-108e-b9a42ca7c05b@aklaver.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 03/02/2017 12:45 PM, Alexander Farber wrote:
> Good evening!
>
> I am calling this stored function -
>
> CREATE OR REPLACE FUNCTION words_get_board(
> in_gid integer
> ) RETURNS TABLE (
> out_bid integer,
> out_letters varchar[15][15],
> out_values integer[15][15]
> ) AS
> $func$
> SELECT
> bid,
> letters,
> values
> FROM words_games
> WHERE gid = in_gid;
>
> $func$ LANGUAGE sql STABLE;

I am not seeing where you assign the results of your SELECT to the OUT
parameters in the RETURNS TABLE. Nor do I see anything that turns the
results into an array for those OUT parameters of array type.

>
> by a PHP script -
>
> $sth = $dbh->prepare(SQL_GET_BOARD);
> $sth->execute(array($gid));
> if ($row = $sth->fetch(PDO::FETCH_ASSOC)) {
> $bid = $row['bid'];
> $letters = $row['letters'];
> $values = $row['values'];
> }
>
> And then print the variable type -
>
> error_log('letters: ' . gettype($letters));
>
> and it is a "string" (instead of inspected array) with the following
> content:
>
> [02-Mar-2017 21:28:33 Europe/Berlin] letters: string
> [02-Mar-2017 21:28:33 Europe/Berlin] letters:
> {{NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL},{NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL},{NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL},{NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL},{NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL},{NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL},{NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,П,NULL,NULL,NULL,NULL,NULL,NULL},{NULL,NULL,NULL,NULL,NULL,NULL,NULL,К,А,Й,Т,NULL,NULL,NULL,NULL},{NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,П,NULL,NULL,NULL,NULL,NULL,NULL},{NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,Ь,NULL,NULL,NULL,NULL,NULL,NULL},{NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,Е,NULL,NULL,NULL,NULL,NULL,NULL},{NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL},{NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL},{NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL},{NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}}
>
> How to handle this please?
>
> I was hoping to fetch a PHP array and process it with "foreach" in my
> PHP-script.
>
> Thank you
> Alex
>
>

--
Adrian Klaver
adrian(dot)klaver(at)aklaver(dot)com

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message David G. Johnston 2017-03-02 21:29:30 Re: CentOS 7.3, PostgreSQL 9.6.2, PHP 5.4 deliver array as string
Previous Message Sven R. Kunze 2017-03-02 21:09:58 Re: Querying JSON Lists