我正在创建一个表单,以便在我的个人网站上向我提交消息。无论如何,我创建的脚本有一个变量$pnumber,它表示有人会提交的电话号码。但是,当它到达MySQL数据库时,总是会出现相同的结果:2147483647。无论我在表格中输入什么数字,它总是以2147483647的形式出现。其他一切都很好,我很确定我的PHP脚本没有改变它。我不确定这是否与我在PHPMyAdmin中配置列的方式有关,但这就是我没有得到的:为什么要更改它?
菲律宾比索:

$pnumber = $_REQUEST['pnumber'];
$largetext = $_REQUEST['comment'];
if ($pnumber == "") {
    $pnumber = 0;
}
try {
    $sql = "INSERT INTO contact SET
             fname = :fname,
             lname = :lname,
             email = :email,
             pnumber = :pnumber,
             mtext = :largetext,
             date = CURDATE()";
    $s = $pdo->prepare($sql);
    $s->bindValue(':fname',$firstname);
    $s->bindValue(':lname',$lastname);
    $s->bindValue(':email',$email);
    $s->bindValue(':pnumber',$pnumber);
    $s->bindValue(':largetext',$largetext);
    $s->execute();

在数据库中,PHPMyAdmin显示为
为什么要换号码?

最佳答案

这个数字2147483647听起来像upper bound of a signed integer,所以int可能不是列的正确数据类型。也许可以试试bigint。

07-24 09:27