Mysql
 sql >> база данни >  >> RDS >> Mysql

PHP PDO Bit(1) връща грешен тип данни

Използвате поле 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 (те просто не споделят типа, останалото е същото).




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Присъединете две MySQL таблици с PHP

  2. моята голяма mysql таблица е предназначена за провал?

  3. Изпълнение на една и съща заявка за избор няколко пъти с различни параметри

  4. MySQL:Прехвърляне на NULL до 0

  5. Django manage.py syncdb хвърля Няма модул с име MySQLdb