On Thu, Mar 2, 2017 at 2:12 PM, Adrian Klaver <adrian.kla...@aklaver.com>
wrote:

> 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.
>
>
​The function isn't the problem here - its in SQL language.  Explicit
assignment is needed in pl/pgsql​.


>
>
>> 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:
>>
>
Proper usage of PHP PDO is the concern - and outside my personal experience.

David J.

Reply via email to