我用一些布尔字段制作了表格。
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 );
但是当我在phpmyadmin中检查时,BOOLEAN
字段为tinyint(1)
,默认情况下为0
。我可以1
为TRUE
。但是当我在PHP代码中使用===
时,它们无法转换。 (我应该在==
,if
,for
中使用while
,我认为它可以在我的系统中造成一些错误。)
那么,我该如何解决呢?我应该如何从mysql默认获得BOOLEAN?
答案 0 :(得分:12)
从数据库中获取数据时,您通常不会获得PHP中的字符串。这些类型仅在数据库端使用。
该字段为TINYINT
,因为MySQL根本不包含BOOLEAN
字段。
答案 1 :(得分:1)
MySQL中没有'boolean'类型。你可以在PHP中使用==
检查。