【发布时间】:2015-04-24 13:40:51
【问题描述】:
我正在尝试将电话号码存储在 mysql 数据库中。但它存储的值不同。
<form align="center" method="post" action="sendingdata.php" enctype="multipart/form-data">
<label for="phone">Phone Number </label></br>
<input type="number" name="phone" id="phone" placeholder="90000 12345"/>
<input class="submit" type="submit" />
以下是sendingdata.php
$phone = $_POST['phone'];
$q = sprintf("insert into posts(title,price,description,imagepath,name,phone) values('%s',%d,'%s','%s','%s','%d')", mysqli_real_escape_string($conn, $title), mysqli_real_escape_string($conn, $price), mysqli_real_escape_string($conn, $description), mysqli_real_escape_string($conn, $imageName),mysqli_real_escape_string($conn, $username),mysqli_real_escape_string($conn, $phone));
if (mysqli_query($conn, $q)) {
header('Location: index.php');
echo "success";
}
我尝试输入的值是 90000 00000。但是存储在数据库中的值是 2147483647
ps:mysql中的数据类型是BIG INT
【问题讨论】:
-
MySQL数据库中列的数据类型是什么?
-
您尝试以十进制格式存储数据,请检查您的字段类型。
-
mysql中的数据类型是BIG INT @mcklayin
-
电话号码不是数字,存储文本或varchar
-
数据类型显然不是
bigint。另外,@cske 所说的 - 以文本格式存储电话号码。