Php SQL更改输入请求
我正在创建一个表单,以便在我的个人网站上向我提交消息。无论如何,我创建的脚本有一个变量,Php SQL更改输入请求,php,mysql,Php,Mysql,我正在创建一个表单,以便在我的个人网站上向我提交消息。无论如何,我创建的脚本有一个变量,$pnumber,它表示某人应该提交的电话号码。然而,当它访问MySQL数据库时,结果总是一样的:2147483647。无论我在表格中输入什么数字,它总是显示为2147483647。其他一切都很好,我很确定我的PHP脚本不会改变它。我不确定这是否与我在PHPMyAdmin中配置列的方式有关,但这就是我不明白的:为什么要更改它 PHP: 在数据库中,PHPMyAdmin显示为 为什么要更改号码?如果没有表单的
$pnumber
,它表示某人应该提交的电话号码。然而,当它访问MySQL数据库时,结果总是一样的:2147483647
。无论我在表格中输入什么数字,它总是显示为2147483647
。其他一切都很好,我很确定我的PHP脚本不会改变它。我不确定这是否与我在PHPMyAdmin中配置列的方式有关,但这就是我不明白的:为什么要更改它
PHP:
在数据库中,PHPMyAdmin显示为
为什么要更改号码?如果没有表单的代码,就有点难以知道。你能把表格的代码填上吗?我不认为它和mysql有任何关系,除非您将那个电话号码作为默认值。您可以测试它,而不是
$pnumber=$\u请求['pnumber']
编写类似于$pnumber=20122222代码>。另外,您不应该将电话号码存储为int
,我建议最好使用char
或varchar
如果没有表单的代码,就有点难以识别。你能把表格的代码填上吗?我不认为它和mysql有任何关系,除非您将那个电话号码作为默认值。您可以测试它,而不是$pnumber=$\u请求['pnumber']
编写类似于$pnumber=20122222代码>。另外,您不应该将电话号码存储为int
,我建议最好使用char
或varchar
该号码2147483647听起来像,因此可能int不是该列的正确数据类型。也许可以试试bigint。这个数字2147483647听起来像,所以可能int不是该列的正确数据类型。可能尝试使用bigint。将pnumber类型从int更改为string
,如同转到Phpmyadmin并添加相同的数字一样,然后您将获得相同的int值,因此将其更改为string,因为它是int的上限值。将pnumber类型从int更改为string
,如同转到Phpmyadmin并添加相同的数字,然后您将获得相同的int值,因此将其更改为string,因为它是int的上限值您是否尝试过var\u dump($pnumber)代码>?是否在天气不好时回显数字检查?是否尝试了变量转储($pnumber)代码>?您是否回显了数字检查结果?将其更改为无符号bigint
后,它接受我现在给出的数字。谢谢将其更改为无符号bigint
后,它接受我现在给出的数字。谢谢
$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();