Re: [PHP] PHP and PostgreSQL boolean data type

From: Chris <dmagick(at)gmail(dot)com>
To: Thom Brown <thombrown(at)gmail(dot)com>
Cc: pgsql-php(at)postgresql(dot)org, PGSQL Mailing List <pgsql-general(at)postgresql(dot)org>
Subject: Re: [PHP] PHP and PostgreSQL boolean data type
Date: 2010-02-10 21:56:36
Message-ID: 4B732B94.20007@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-php

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/

In response to

Browse pgsql-general by date

  From Date Subject
Next Message paul e 2010-02-11 00:15:56 windows7 login- user account
Previous Message Baron Schwartz 2010-02-10 18:42:39 Re: Logging statement/duration on the same line

Browse pgsql-php by date

  From Date Subject
Next Message Torsten Zühlsdorff 2010-02-11 07:42:35 Re: PHP and PostgreSQL boolean data type
Previous Message Torsten Zühlsdorff 2010-02-10 14:15:18 Re: PHP and PostgreSQL boolean data type