在 MySQL 中保持前导零

我有一个带有 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'";


慕田峪4524236
浏览 87回答 1
1回答

智慧大石

用于sprintf格式化您的值:$caption&nbsp;=&nbsp;sprintf("%02d-%02d",&nbsp;$_POST['dd'],&nbsp;$_POST['mm']);这里的关键是将数据作为字符串处理,而不是像-$_POST['mm']将其视为数字那样对其进行数学运算。在数字中,前导零总是被省略,因为它们总是存在。0x0000000a就CPU而言,10实际上是这样的。
打开App,查看更多内容
随时随地看视频慕课网APP