Не уверен, что еще есть люди, которые ищут объяснение и решение. Приведенные выше комментарии говорят о различиях между TRUE / FALSE / 1/0.
Я просто хотел бы принести свои 2 цента за способ отображения фактического значения.
BOOLEAN
Если вы работаете с логическим типом данных, вам нужен результат ИСТИНА или ЛОЖЬ; если вы сохраните его в MySQL, он будет сохранен как 1 соотв. 0 (если не ошибаюсь, в памяти вашего сервера то же самое).
Итак, чтобы отобразить значение в PHP, вам нужно проверить, истинно ли оно (1) или ложно (0), и отобразить все, что вы хотите: «ИСТИНА» или «ЛОЖЬ» или, возможно, «1» или «0».
Внимание, все, что больше (или отличается) от 0, также будет считаться ИСТИННЫМ в PHP. Например: 2, «abc» и т. Д. Вернут ИСТИНА.
БИТ, ТИНИИНТ
Если вы работаете с числовым типом данных, способ его хранения такой же.
Чтобы отобразить значение, вам нужно указать PHP, чтобы он обрабатывал его как число. Самый простой способ, который я нашел, - это умножить его на 1.
empty
, пожалуй, самая полезная, но неправильно понимаемая функция PHP. Узнайте, как и когда его использовать.