Mysql
 sql >> Baza danych >  >> RDS >> Mysql

php czyta pole bitowe mysql zwracające dziwny znak

MySQL dosłownie zwraca 0x00 i 0x01 dla pól bitowych. Będziesz musiał przekonwertować je na coś odpowiedniego po stronie PHP

$bitvalue = ($bitvalue == 0x01) ? 'TRUE' : 'FALSE'

lub w zapytaniu:

SELECT CAST(bitfield AS unsigned int)
FROM ...

który przekonwertuje go na int i zwróci jako „0” i „1” (0x48 i 0x49).

Na marginesie, niektóre starsze biblioteki mysql obsługują pola bitów rzeczywistych w MySQL (kiedy zostały po cichu przekonwertowane na char(1)) i usuwają wartości, więc jeśli utkniesz z jednym z tych dinozaurów wersje, może być konieczne użycie wersji zapytania zamiast konwersji po stronie 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. Laravel zagnieżdżone relacje

  2. Jak wstawić dane do tabeli Hive(0.13.1)?

  3. Jak uzyskać dostęp do zdalnego serwera za pomocą lokalnego klienta phpMyAdmin?

  4. mysqldump z utf8 nie może wyeksportować prawidłowego ciągu emoji

  5. Brak rozszerzenia mysqli, phpmyadmin nie działa