Thom Brown wrote:
> Hi,
>
> A long-standing problem we've had with PostgreSQL queries in PHP is
> that the returned data for boolean columns is the string 'f' instead
> of the native boolean value of false.
>
> An obvious example of this would be for a table with users and their
> boolean registered status:
>
> Select user, registered From users;
>
> Then getting a row from the result would reveal: array('user' =>
> 'thomb', registered => 'f');
That's how postgres stores them, php doesn't understand the field is a
boolean.
# create table a(a int, b boolean);
# insert into a(a, b) values (1, true);
# insert into a(a, b) values (2, false);
# SELECT * from a;
a | b
---+---
1 | t
2 | f
(2 rows)
Also while not in the "official" docs, it is a note from 2002:
http://www.php.net/manual/en/ref.pgsql.php#18749
and
http://www.php.net/manual/en/function.pg-fetch-array.php says
Each value in the array is represented as a string. Database NULL
values are returned as NULL.
> Another problem is with arrays, where they are difficult to parse as
> they also come through as plain strings with no binary alternative.
Haven't played with postgres arrays so can't say either way - but same
as above, php just fetches the data.
There's an example that might help you -
http://www.php.net/manual/en/ref.pgsql.php#89841
--
Postgresql & php tutorials
http://www.designmagick.com/