布尔值保存为mysql中的tinyint(1)

时间:2011-09-26 11:51:50

标签: php mysql

我用一些布尔字段制作了表格。

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。我可以1TRUE。但是当我在PHP代码中使用===时,它们无法转换。 (我应该在==iffor中使用while,我认为它可以在我的系统中造成一些错误。)

那么,我该如何解决呢?我应该如何从mysql默认获得BOOLEAN?

2 个答案:

答案 0 :(得分:12)

从数据库中获取数据时,您通常不会获得PHP中的字符串。这些类型仅在数据库端使用。

该字段为TINYINT,因为MySQL根本不包含BOOLEAN字段。

答案 1 :(得分:1)

MySQL中没有'boolean'类型。你可以在PHP中使用==检查。