gpt4 book ai didi

php - 数据上传在数据库 Codeigniter 中显示不同的值

转载 作者:行者123 更新时间:2023-11-29 23:47:56 24 4
gpt4 key购买 nike

我有一个表单,从中获取要保存到数据库中的值。运行插入查询,它将插入到数据库中,但问题是保存的电话号码看起来像这个号码“2147483647”,尽管在查询中传递了号码9846586583。每次我插入它时都会保存这个号码。

我设置的电话号码列的数据类型是int(16) .

下面是 <?php $this->output->enable_profiler(true);?> 显示的查询这显示了正确的查询

INSERT INTO `posts` (
`country`,
`city`,
`area`,
`street`,
`house_no`,
`house_type`,
`floor`,
`number_of_rooms`,
`price`,
`owners_phone`,
`posted_by`,
`featured_post`
)
VALUES
(
'nepal',
'pkr',
'ratekhoire',
'fulbari',
'45',
'1s',
'0',
'7',
'10000',
'9846586583',
'bhabi',
'Y'
)

最佳答案

原因:

2147483647 是 MySQL 的最大 int 值。
原因是因为有符号整数的最大值是 2147483647。即使您指定了 INT(16),也不意味着您可以存储的长度为 16,因为最大允许值是 2147483647。INT 声明中 16 的含义是填充零的长度,仅在列上启用 ZEROFILL 时才适用。但长度仍然不能达到16个字符。

如果您将原始数据保存为9846586583,它将被截断为最大值2147483647。


解决方案:

只需将数据类型从 int 更改为 bigintvarchar.

关于php - 数据上传在数据库 Codeigniter 中显示不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25820795/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com