php-mysql在查找和插入时将整数截断为奇数
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php-mysql在查找和插入时将整数截断为奇数,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2127字,纯文字阅读大概需要4分钟。
内容图文
![php-mysql在查找和插入时将整数截断为奇数](/upload/InfoBanner/zyjiaocheng/886/b73ca61654074319ae52cd26735d7f85.jpg)
我在php中使用Laravel的Eloquent插入并查找记录.
发生的是,当我插入整数时,这里是-1001094515039,它将其更改为-367135071并将其存储在字段中.
字段类型为Bigint,长度为20个字符,我曾尝试将其存储在文本类型字段和Varchar字段中,但是会发生相同的情况.
另外,当我在phpMyAdmin中手动将其更改为-1001094515039时,我尝试使用Eloquent的find方法来查找它,但它没有给我该记录!
该脚本在使用PHP 5.X的第一台服务器上运行,当前服务器使用php 7.x,我认为可能是这种情况!
我已经尝试过将MYSQL_ATTR_MAX_BUFFER_SIZE设置为16 * 1024 * 1024的选项,但是那也不起作用.
这是int的PHP最大值,最小值:
最小整数:-9223372036854775808
最大整数:9223372036854775807
有什么办法吗?
更新:
这是我插入数据的方式:
$Group = new Group();
$Group->id = -1001094515039;
$Group->registerdate = "2017-02-03 00:56:01";
$Group->name = "Test Ginger 2";
$Group->owner_id = 81997375;
$Group->save();
var_dump($Group-> save())结果是:
http://textuploader.com/d1oo7
强调:
[attributes:protected] => Array
(
[id] => -1001094515039
[registerdate] => 2017-02-03 00:56:01
[name] => Test Ginger 2
[owner_id] => 81997375
)
显示创建表结果:
CREATE TABLE `groups` (
`id` bigint(20) NOT NULL,
`name` varchar(100) CHARACTER SET utf8mb4 NOT NULL,
`owner_id` int(11) NOT NULL,
`acive` tinyint(1) NOT NULL DEFAULT '0',
`autorounds` tinyint(1) NOT NULL DEFAULT '0',
`timezone` varchar(50) NOT NULL DEFAULT 'Pacific/Easter',
`registerdate` datetime NOT NULL,
PRIMARY KEY (`id`),
KEY `owner_id` (`owner_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
插入结果:
解决方法:
我现在怀疑我了解这个问题.
我在php 5.5实例和php 7.0实例上运行了以下var_dumps.
dd(array(‘RawValue’=> -1001094515039),array(‘using intval()’=> intval(-1001094515039)),array(‘PHP Version’=> phpversion()));
结果如下:
5.5
array:1 [▼
“RawValue” => -1001094515039.0
]
array:1 [▼
“using intval()” => -367135071
]
array:1 [▼
“PHP Version” => “5.5.12”
]
7.0
array:1 [▼
“RawValue” => -1001094515039
]
array:1 [▼
“using intval()” => -1001094515039
]
array:1 [▼
“PHP Version” => “7.0.4”
]
[link]:http://php.net/manual/en/function.intval.php中还有更多信息,但我怀疑php中原始数字和整数的变化(从5更改为7)导致了您的问题.将变量包装在intval()中应该可以解决您的问题.
希望这能解决您的问题!
内容总结
以上是互联网集市为您收集整理的php-mysql在查找和插入时将整数截断为奇数全部内容,希望文章能够帮你解决php-mysql在查找和插入时将整数截断为奇数所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。