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.