sql >> Database teknologi >  >> RDS >> Mysql

php læsning mysql bit felt returnerer mærkelig karakter

MySQL returnerer bogstaveligt talt 0x00 og 0x01 for bitfelterne. Du bliver nødt til at konvertere dem til noget passende på enten PHP-siden

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

eller i forespørgslen:

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

som vil konvertere den til en int og returnere som '0' og '1' (0x48 og 0x49).

Lige til side, nogle af de ældre mysql-biblioteker foruddaterer understøttelse af rigtige bitfelter i MySQL (når de lydløst blev konverteret til char(1)) og vil kassere værdierne, så hvis du sidder fast med en af ​​disse dinosaurer versioner, skal du muligvis bruge forespørgselsversionen i stedet for PHP-sidekonverteringen.



  1. Tips til brug af SQL Server med Salesforce

  2. varchar2(n BYTE|CHAR) standard -> CHAR eller BYTE

  3. mysql kombinerede unikke nøgler

  4. Hvordan man fremskynder SELECT .. LIKE-forespørgsler i MySQL på flere kolonner?