Está utilizando un campo Bit(1) para representar un valor booleano (TRUE
/FALSE
).
El cliente de la base de datos asigna campos de bits (que pueden tener más de un bit) en cadenas en las que un carácter representa un octeto.
Puede simplemente usar su campo Bit (1) como cadena PHP a través de ord()
funciona ya que trata la cadena como un solo octeto:
if (ord($Site_Approved)) {
...
}
No puedes usar $Site_Approved
directamente porque es una cadena y siempre se evaluaría como TRUE
independientemente de si su primer bit está configurado o no.
Alternativamente, puede convertir el valor de la base de datos en la consulta SQL ya a un decimal que podría ser lo que está buscando:
s.Site_Approved+0 AS Site_Approved
Los valores decimales en el rango de 0 a 1 se comportan de manera muy similar a los valores booleanos de PHP (simplemente no comparten el tipo, el resto es igual).