0

如果手机号码 1234567890,下面的代码工作正常。

如果手机号码是 2134567890 或其他不以 1 开头的号码,则下面的代码将插入此号码“2147483647”并且代码没有给出正确的输出。

使用 FORM 的 POST 方法我得到的值和 ACTION 是 $_SERVER['PHP_SELF']

使用 isset($_POST['submit']),写在代码下面。

这是代码:

$sql=mysql_query("insert into registration (regname,regmobile) values ('$_POST[regname]','$_POST[regmobile]')");
$sql1=mysql_query("select * from registration where regmobile='$_POST[regmobile]'");
if(mysql_num_rows($sql1)>0)
{
    while($row=mysql_fetch_array($sql1))
    {
        $regname=$row['regname'];
        $regmobile=$row['regmobile'];
        $regid=$row['regid'];
        $reguserid=substr($regname,1,2).substr($regmobile,-4).substr($regid,-2);
        $sql2=mysql_query("update registration set reguserid='$reguserid' where regmobile='$regmobile'");

    }
}

感谢和问候

斯韦莎

4

3 回答 3

3

考虑不同的数据类型:

bigint
-2^63 (-9,223,372,036,854,775,808) to 2^63-1 (9,223,372,036,854,775,807)

int
-2^31 (-2,147,483,648) to 2^31-1 (2,147,483,647)

smallint
-2^15 (-32,768) to 2^15-1 (32,767)

tinyint
0 to 255

或者如 blue112 所述,尝试使用 VARCHAR

于 2012-10-04T11:17:06.897 回答
1

那是因为你已经达到了 Mysql Int 的极限。

考虑使用 Varchar(10),它会更好。

于 2012-10-04T11:15:33.993 回答
0

这是因为你已经达到了极限int

你应该使用BIGINT.

像这样的东西 大整数

于 2012-10-04T11:27:49.077 回答