본문 바로가기
MySql

MySQL / PHP / json_encode 부울 문자열 변환

by 베이스 공부 2020. 12. 6.
반응형

안녕 얘들 아 도움이 필요해 mysql 쿼리가 있습니다.

SELECT cca_id AS id, cca_title AS text, IF ((SELECT count (*) from crm_categories WHERE cca_id_prev = id), 'TRUE', 'FALSE') AS children FROM crm_categories WHERE ...

이제 문자열로 true / false로 배열을 얻습니다.

json_encode를 사용하면 결과는 { "id": "false"} 와 같습니다.

하지만 따옴표없이 참 / 거짓이 필요합니다-문제는 mysql 쿼리에서 참 거짓을 부울로 사용하면 0/1을 반환하지만 그 중 하나도 원하지 않습니다 ...

물론 json 문자열에 str_replace 를 실행할 수 있지만 대안이 있다고 생각합니다.

 

해결 방법

 

글쎄, 당신은 데이터베이스에서 문자열로 선택하고 있다 . 이것이 인코딩되는 것입니다. PHP에서 0 / 1 이되는 SQL true / false 부울 값을 사용하고이를 PHP 부울로 캐스트합니다. JSON 인코딩 전에 :

$data['id'] = (bool)$data['id']; // 0/1 -> PHP false/true

echo json_encode($data); // {'id':true}

 

참조 페이지 https://stackoverflow.com/questions/23153347

 

 

반응형

댓글