我正在构建一个调查,其中参与者使用 html 表单输入详细信息。
例如:
What gender are you? Male | Female
可以使用单选按钮选择男性/女性选项。
但是,我想将答案作为 INT 值存储在我的数据库中,男性为 0,女性为 1。我该如何编写表示该内容的查询?
我有一个粗略的想法,看起来像这样,但似乎行不通:
$__g = Array('male' => '0', 'female' => '1');
另外,如何将值插入数据库?我有这个,但不确定它是否有效(因为我无法正确表示代表部分)
$sql = "INSERT INTO `onlinesurvey`
(gender) VALUES ('".$__g[$_POST['gender']]."');
非常感谢您的帮助 =)
最佳答案
MySQL ENUM数据类型是这类东西的最佳选择。
CREATE TABLE survey (
gender ENUM('Male', 'Female', 'Hemaphrodite')
);
INSERT INTO survey VALUES ('Female'); // will get index 1
INSERT INTO survey VALUES ('Hemaphrodite'); // will get index 2
INSERT INTO survey VALUES ('Male'); // will get index 0
关于php - 用数字表示文本 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2046031/