PHP强制转换整形的一点小问题

本文记录了在数据库录入过程中遇到的问题:当尝试插入过长的数字数据时发生错误。作者原本使用 intval 进行数据类型转换以防止 SQL 注入攻击,但此方法无法处理超过 20 位数的数值。最终解决方案是通过检查字符串是否全部由数字组成来避免 SQL 注入风险,而非强制转换为整型。

问题遇到情况为

那时我进行数据库录入

有一些数据为全数字

并且长度很长

然后我录入数据库一直出错

最后发现是之前为了避免注入那些

我在数据前面进行了一次intval

然后数据太大,就转化整形错误

导致录入数据库错误

最后我用判断字符串是否全为正式来避免注入,不进行整形转化

inval 与(int)最大长度为20位数左右,具体多少忘记了

数据超过长度会按最大值或者最小值来显示

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值