> Why is it better to change the booleans to 0 and 1? Because
(bool)"0" == true, (bool)"1" = false but (bool)"true" == true, (bool)"false" = true making coercing the latter into booleans a more complex process, as in my li'l conditional above. Of course, if you _only_ compare them as strings on the server, then you will not have a problem. But then they are not actual booleans, so why bother giving them names that appear so? And never converting them into 0/1 means you always need a char column to store them in a db as-is. You can store 32 different bools in one int field -- but it takes a varchar(5) to store just one boolean-like "true"/"false". -- Sandy
