Você está usando um campo Bit(1) para representar um valor booleano (
TRUE
/FALSE
). O cliente de banco de dados mapeia campos de bits (que podem ser maiores que um bit) em strings nas quais um caractere representa um octeto.
Você pode usar seu campo Bit(1) como string PHP através do
ord()
função, pois trata a string como um único octeto:if (ord($Site_Approved)) {
...
}
Você não pode usar
$Site_Approved
diretamente porque é uma string e sempre seria avaliada como TRUE
independentemente de o primeiro bit estar definido ou não. Como alternativa, você pode converter o valor do banco de dados na consulta SQL já para um decimal que pode ser o que você está procurando:
s.Site_Approved+0 AS Site_Approved
Valores decimais na faixa de 0 a 1 se comportam de maneira muito semelhante aos booleanos do PHP (eles simplesmente não compartilham o tipo, o resto é o mesmo).