Използвате поле Bit(1), за да представите булева стойност (TRUE
). /FALSE
).
Клиентът на базата данни картографира битови полета (които могат да бъдат по-големи от един бит) в низове, в които един знак представлява октет.
Можете да използвате полето Bit(1) като PHP низ чрез ord()
функция, тъй като третира низа като един октет:
if (ord($Site_Approved)) {
...
}
Не можете да използвате $Site_Approved
директно, защото е низ и винаги ще се оценява на TRUE
независимо дали първият му бит е зададен или не.
Като алтернатива можете да прехвърлите стойността на базата данни в SQL заявката вече до десетичен знак, което може да е това, което търсите:
s.Site_Approved+0 AS Site_Approved
Десетичните стойности в диапазона от 0 до 1 се държат много подобно на булевите на PHP (те просто не споделят типа, останалото е същото).