php - SQL 更改输入请求

标签 php mysql

我正在创建一个表单,用于在我的个人网站上向我提交消息。不管怎样,我创建的脚本有一个变量,$pnumber,代表某人提交的电话号码。然而,当它到达 MySQL 数据库时,它总是出现相同的结果:2147483647。无论我在表单中输入什么数字,它总是显示为 2147483647。其他一切都很好,我很确定我的 PHP 脚本没有改变它。我不确定这是否与我在 PHPMyAdmin 中配置列的方式有关,但我不明白:为什么要更改它?

PHP:

$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 将 pnumber 显示为

PHPMyAdmin table

为什么要更改号码?

最佳答案

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

关于php - SQL 更改输入请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11964530/

相关文章:

php - CURL 和 JSON 问题

mysql - 如何对价格调节因素建模?

php - 我如何确保我捕捉到来自 MySQLi::multi_query 的所有错误?

php - Mysql关系一对多获取数据多where子句

php - 保护 secret 数据免遭泄露

php - PHP 表中 undefined offset

Mysql Prepare 语句多次插入

php - WAMP 服务器 mySQL 数据类型? mySQL 数据库未在 PHP 中更新?

php - 如何用jquery检查json数据返回是否为空

php - 如何从PDO中的存储函数获取返回值?