Re: Booleans

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



On Mon, 4 Nov 2002, Jascha Schubert wrote:

> Hi,
> I've written an php script with many queries like 
> 
> "insert into table (a,b,c) VALUES('$q','$w','$e')"
> 
> where $q,$w and $e are booleans. I've written it with mysql and it works fine 
> there, now I want to use it with postgres and have the following problem:
> As type for a,b and c I used the bit type with length 1. Now if $q is true 
> there is now problem it evaluates to '1', but false evaluates to '' and 
> postgres then complains that the bit string length does not match. Its 
> clearly why it happens, but is there an easy way to fix this, without 
> rewriting all the sql queries with something like if($q===false) $q='0';.

I'd recommend taking off your mysql thinking cap for this one. :-)

To set your values, I'd suggest using the TRUE and FALSE method, like so:

insert into table (a,b,c) values (TRUE,FALSE,FALSE)

So that you use PHP to set each field to TRUE or FALSE (note there's no ' 
marks around the TRUE or FALSE).   

When testing for true or false, do it the same basic way:

select * from table where a IS TRUE

or

select * from table where a IS TRUE and (b IS FALSE or c IS FALSE)

kind of thing.

That keeps you from having to worry about how TRUE and FALSE are being 
stored in the database.



[Index of Archives]     [Postgresql General]     [Postgresql Admin]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Yosemite Backpacking]     [Postgresql Jobs]

  Powered by Linux