数据mysql开头为0


zero at the beginning of data mysql

我将数据存储在我的数据库中。现在我想取回它。但是数据的开头都是0。当我获取数据时,0被删除。

例如,我存储了"0064",当我获取它时,显示"64"。

       $sql1="select * from book where id='$code'";
       $result=mysqli_query($con,$sql1);
       if(!mysqli_query($con,$sql1))
       {
        die('error' .mysqli_error($con));
       }
       $row = mysqli_fetch_array( $result ,MYSQLI_ASSOC);

当我想在文本框中获取时,我使用以下代码:

 <input type="text" size="15"  value="<? echo $row['id'] ?>">

我怎样才能保留这些零呢?由于

从数据库中获取id后添加这些0

str_pad($input, 4, $row['id'], STR_PAD_LEFT);

或者可以用

重新定义表结构
id INT(4) ZEROFILL

具有相同的效果。

关键是存储一个数字,而显示任何你想要的花哨格式。

您需要更改您的模式结构。您需要将字段定义为CHARVARCHAR,而不是INT,以便可以保存以零作为前缀的数据。整数字段不允许这样做(如在Excel工作表中)。

获取数据前,需要将ID字段转换为varchar。查询将是下面的查询。

 $sql1 = "select * from book where id LIKE '$code'";
 $result = mysqli_query($con,$sql1);
 if (!mysqli_query($con,$sql1)) {
   die('error' .mysqli_error($con));
 }
 $row = mysqli_fetch_array($result, MYSQLI_ASSOC);