我正在尝试在我的数据库中插入电话号码。我能够连接,并将我的表单(地址,电子邮件等)中的所有其他数据完全插入到数据库中,但是当插入电话号码时,它会忽略实际的电话号码,仅输入此int 2147483647。无论我使用什么电话号码,我只使用数据库中的列中显示的那些数字。任何帮助将不胜感激!
以下是从我的网站上的表单中收集电话号码的php部分
$Phone1 = $_POST['Phone1'];
这是获取电话号码的html表单
<span>
<input id="element_2_1" name="Phone1" class="element text" size="10" maxlength="10" value="" type="text">
<label for="element_2_1">(###) ### - ####</label>
</span>
这是SQL插入语句
$sqlInsert = "INSERT INTO `phpmy1_belairfinishing_com`.`Contact`(`ID`, `FName`, `LName`, `Phone`, `Street`, `City`, `State`, `Country`, `Zipcode`, `Email`, `Message`) VALUES (NULL, '".$FName."', '".$LName."', '".$Phone1."', '".$Street."', '".$City."', '".$State."', '".$Country."', '".$Zipcode."', '".$Email."', '".$Message."')";
答案 0 :(得分:6)
您将电话号码存储为INT,电话号码不整数。带符号的32位int的最大值为2,147,483,648。在电话号码方面,这是214-748-3648。如果您要插入电话号码&#34;更大&#34;比那个,例如777-777-7777,您正好得到了您想要的 - 您电话号码的最大可能签名32位整数表示。
改为使用varchar字段。
答案 1 :(得分:2)
数据库尝试将您的电话号码解释为int但是该值大于最大列值int值因此max int
答案 2 :(得分:1)
不要将phonenumber保存为Int保存为Varchar
你为什么要这样做?
由于您不需要使用phonenumber进行计算,并且大部分只显示它,因此更好地使用Varchar。