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.