我有一个带有 varchar 列的表。我使用值为 01、02、03、04 .... 10、11、12 等的选择表单来存储此列中的数据。我的问题是,当我提交表单时,前导的“零”被删除。如何保持前导零?**注意。我检查了其他类似的帖子,但他们没有解决我的问题。我已经尝试过 var/char/text 但它仍然不起作用,因此如果有另一种方法可以完成此操作,为什么我发布这个问题。**<form method=post enctype="multipart/form-data"><select name="dd"> <option selected="selected">Day</option> <option value='01'>01</option> <option value='02'>02</option> <option value='03'>03</option> <option value='04'>04</option> <option value='05'>05</option> <option value='06'>06</option> <option value='07'>07</option> <option value='08'>08</option> <option value='09'>09</option> <option value='10'>10</option> <option value='11'>11</option> </select><select name="mm"> <option selected="selected">Month</option> <option value='01'>01</option> <option value='02'>02</option> <option value='03'>03</option> <option value='04'>04</option> <option value='05'>05</option> <option value='06'>06</option> <option value='07'>07</option> <option value='08'>08</option> <option value='09'>09</option> <option value='10'>10</option> <option value='11'>11</option> </select></form>MySQL如下; $caption = $_POST['dd'].-$_POST['mm']; $sql = "INSERT INTO pages SET caption = '$caption'";
1 回答
智慧大石
TA贡献1946条经验 获得超3个赞
用于sprintf
格式化您的值:
$caption = sprintf("%02d-%02d", $_POST['dd'], $_POST['mm']);
这里的关键是将数据作为字符串处理,而不是像-$_POST['mm']
将其视为数字那样对其进行数学运算。在数字中,前导零总是被省略,因为它们总是存在。0x0000000a
就CPU而言,10实际上是这样的。
- 1 回答
- 0 关注
- 120 浏览
添加回答
举报
0/150
提交
取消