使用php时将随机值插入数据库

时间:2015-01-09 21:10:44

标签: php sql

我正在尝试在我的数据库中插入电话号码。我能够连接,并将我的表单(地址,电子邮件等)中的所有其他数据完全插入到数据库中,但是当插入电话号码时,它会忽略实际的电话号码,仅输入此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."')";

3 个答案:

答案 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。