728x90
반응형
문제점 및 증상¶
- MariaDB에서 BIT 형 컬럼을 정의하고, PHP에서 이 자료를 받아서 JSON 형태로 출력하는 형태로 개발
- 다음과 같이 처리할 경우, 무조건 0으로 되어 버림
해결 방안
- INT 형으로 형 변환을 하면 0으로 되어, 관련 자료를 검색하여 보았으나, 확실한 답이 없었음
- 여러 자료를 찾던 중에 BIT 데이터 처리하는데 ord() 함수가 눈에 띄여 이를 사용하여 보았더니 해결됨
- MySQL이나 Maria에서는 BIT 등도 일종의 문자열로 인식하여 실제 숫자에 해당하는 문자열이 아닌 경우 숫자로 변환되지 않는 것으로 보임
PHP에 MariaDB에 대한 client module이 아니라, MySQL용 모듈이 설치되어 있어서 발생한 문제였다.
php5-mysql client module이 설치되어 있다면, 해당 모듈을 삭제하고, php5-mysqlnd 모듈을 재설치하면 ord() 함수를 사용하지 않아도 올바로 숫자로 인식하게 된다. 아래 글을 참고로 해결하면 된다.
[MariaDB] BIT 형 컬럼을 PHP에서 올바로 표시하기
'DB > MySQL' 카테고리의 다른 글
[MariaDB] NULL 허용 컬럼 사용시 고려할 점 (0) | 2018.11.08 |
---|---|
[MariaDB] VARBINARY 형 비밀번호 처리에 관하여 (0) | 2016.09.07 |
[MariaDB] Commands out of sync 문제 (0) | 2016.09.04 |
MySQL 관리 (0) | 2014.04.17 |
삭제된 데이터 복구하기 (0) | 2010.07.11 |