나는 부울 필드가있는 테이블을 만들었습니다. 내가 phpMyAdmin을 그것을 검사 할 때부울로 저장 mysql에 tinyint (1)로 저장
CREATE TABLE PM_ADMIN_LIST( id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, username VARCHAR(250) NOT NULL, password VARCHAR(250) NOT NULL, mail VARCHAR(250) NOT NULL, added_time INT, super_admin VARCHAR(250) NOT NULL, last_time INT, last_ip VARCHAR(250), see_user_per BOOLEAN DEFAULT FALSE, change_user_per BOOLEAN DEFAULT FALSE, see_people_per BOOLEAN DEFAULT FALSE, change_people_per BOOLEAN DEFAULT FALSE, add_people_per BOOLEAN DEFAULT FALSE, remove_people_per BOOLEAN DEFAULT FALSE, see_album_per BOOLEAN DEFAULT FALSE, add_album_per BOOLEAN DEFAULT FALSE, change_album_per BOOLEAN DEFAULT FALSE, remove_album_per BOOLEAN DEFAULT FALSE, see_music_per BOOLEAN DEFAULT FALSE, add_music_per BOOLEAN DEFAULT FALSE, change_music_per BOOLEAN DEFAULT FALSE, remove_music_per BOOLEAN DEFAULT FALSE, admin_per BOOLEAN DEFAULT FALSE, yahoo_per BOOLEAN DEFAULT FALSE, status_per BOOLEAN DEFAULT FALSE, pm_per BOOLEAN DEFAULT FALSE, ip_blocking_per BOOLEAN DEFAULT FALSE );
는하지만, BOOLEAN
필드는 tinyint(1)
그리고 그들은 기본적으로 0
있습니다. 1
을 TRUE
으로 만들 수 있습니다. 하지만 내 PHP 코드에서 ===
을 사용하면 변환 할 수 없습니다. (나는 if
, for
, while
에서 ==
를 사용해야하고 나는 그것이 내 시스템에서 몇 가지 버그를 만들 수 있다고 생각합니다.) 그래서
, 나는 그것을 어떻게 해결해야합니까? 어떻게하면 기본적으로 mysql에서 BOOLEAN을 얻을 수 있습니까?
'=== 1'을 (를) 할 수 없습니까? – Kokos
http://stackoverflow.com/questions/289727/which-mysql-datatype-to-use-for-storing-boolean-values에 따르면'BOOLEAN'은'TINYINT (1)'의 별칭 일뿐입니다. 0 값은 거짓, 0이 아닌 값이 참입니다. '==='와 비교하기 위해 왜 그것을 필요로합니까? PHP는'true/false'의 변환을 1/0으로 처리해야합니다. –
부울을 직접 가져올 수 없습니다. –