Hi Alex, On Thu, 2017-03-02 at 21:45 +0100, 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; > > 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']; > } > > Don't use PDO but assuming you want to loop through a result set, shouldn't this line:- if ($row = $sth->fetch(PDO::FETCH_ASSOC)) { be > while ($row = $sth->fetch(PDO::FETCH_ASSOC)) { Also you need to test if the result set is empty or not. I don't have an "easy" way to convert Postgres arrays into PHP style arrays. What I ended up doing was to use the array_to_string function in the select statement using the underscore character as the delimiter in the string, and then converting the string to a PHP array via an explode. However, I've only had to do this with single level arrays. Don't know if this helps as you haven't supplied the table definition of words_games. Cheers, Rob -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general