Подскажите как работать с этим типом. в phpMyAdmin он принимает значение 1 либо 0, но на деле не являются таковым, и даже не является bolean... пишу так: Код (Text): $result = mysql_query("SELECT * FROM send_me"); while ($mar = mysql_fetch_array($result)){ if ($mar['room_1']==1){ echo 1; }; } но echo 1; не происходит, пишу так: if ($mar['room_1']==true) происходит echo 1; , и даже тогда когда по идеи стоит false подскажите что нужно писать, к чему приравнивать что бы узнать его значение?
если в столбике room_1 написанно true то проверку надо так: Код (PHP): $result = mysql_query("SELECT * FROM send_me"); while ($mar = mysql_fetch_assoc($result)){ if ($mar['room_1']=='true'){ echo 1; } } и не нужно ставить после if конструкции оператора ;
в столбике room_1 написанно не true, написанно 1, но не работает так, если ставлю тип данных INT, то всё работает, а с типом данных BIT не работает((, вот и хотел узнать к чему нужно приравнивать этот столбик. и да - если пишу echo $mar['room_1'] то ничего не выводит х_Х
Нда, уж " [пробел] ", что - то намудрили видимо, если бы было пусто он бы вернул NULL. Да и вообще, что тип boolean, что тип bit почти одно и тоже.
BOOL, BOOLEAN, BIT это синонимы TINYINT(1) http://dev.mysql.com/doc/refman/5.0/en/numeric-type-overview.html
вообще насколько я помню (давно уже одиночные биты не использую - женился на бинарных полях) скуэль не возвращает кол-во бит, указанное в длине поля типа бит, а дополняет слева до полного байта. в вашем случае бит 1 в возвращается как байт из бит 0000-0001, и соответствует байту SOH таблицы ASCII - браузер заменяет его квадратиком потому что вариантов отображения нет. касательно условий выборки - вроде (уж давно это было и сурсы лень искать) хватало конструкции вроде if($r['bit_value']). то есть мы не сравниваем с каким-либо конкретным значением (true,1, etc)
ENUM вам в помощь! BIT(n) — строка битов постоянной длины. BIT VARYING(n) — строка битов переменной длины.
Возможно, ну вот еще есть smallint. Ну и еще тут: http://msdn.microsoft.com/ru-ru/library/ms187745.aspx
Вы меня удивляете =)) LONGBLOB ЗЫ: Дабы перестать троллить, топикстартер твой выбор TINYINT(1) UNSIGNED