数字正在MySQL中重新格式化

时间:2011-09-14 19:36:34

标签: php mysql

我一直遇到MySQL改变数值数据的问题。它在表单提交和输出到Excel时发生。像这个911001001235848这样的身份证件号码像这样9.1100100123585E + 14。有关正在发生的事情的任何建议吗?

2 个答案:

答案 0 :(得分:3)

根据Microsoft的文档,您应确保包含12位或更多位数字的数字值为string类型,并以撇号为前缀以保留原始值。以下是上述示例,其后是其支持文档。

"personId","personName","randomNumber"
1,"John Doe","'911001001235848"
2,"Jane Doe","'848532100100911"

请注意,“randomNumber”列值是双引号并带有撇号前缀。

Text or number converted to unintended number format in Excel

答案 1 :(得分:0)

用户输入序列的存在和最后一个,脚本填充其间的数字。这是我用来将数字输入MySQL的PHP​​脚本,它只输入第一个数字,然后输入乱码数字秒。小数字效果很好,但我需要输入15位数字。

$date  = date("m-d-Y");
$nstart=$_REQUEST['startid'];
$nend = $_REQUEST['endid'];
$doc = $_REQUEST['doc'];
$phone = $_REQUEST['phone'];


for ($i = $nstart; $i <= $nend; $i++) 
{ 
$query = "INSERT INTO petdb (doc,phone, userid, reg_date) VALUES ('$doc','$phone','     $i', '$date')"; 
mysql_query($query, $con); 
} 
mysql_close();