首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将浮点数存储到数据库中作为字符串转义?-安全?

将浮点数存储到数据库中作为字符串转义?-安全?
EN

Stack Overflow用户
提问于 2013-12-02 10:41:27
回答 1查看 348关注 0票数 0

其他问题和答案说,如果你想转义和存储浮动与PDO,你应该使用字符串转义.(PDO::PARAM_STR).

但是,在将其存储到数据库(MySQL)中的浮动列中时,通过PDO作为字符串转义浮点数真的安全吗?这两种浮标“兼容”吗?我是否应该在PHP /或MySQL中预先验证浮点数,即使它实际上不是浮点表示(而是一些随机字符串),它也会以某种方式将字符串转换成浮点数?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-02 10:48:14

就SQL注入而言,这样做是安全的:

代码语言:javascript
复制
$stmt->bindValue('foo', 1.23456, PDO::PARAM_STR);

因为这对于任何值都是安全的,不管它的类型如何。

float MySQL列中存储字符串也是“安全的”。您只能将float存储在float列中,MySQL将根据其转换规则将接收到的任何值强制转换为float。这可能触发或不触发某些错误或警告,但字符串→浮点转换非常直接,不应引起任何问题。

在安全方面都是“安全”的。

如果您的浮点数实际上是一个浮点数,那么它对值也是安全的。它只是作为一个字符串被传输,但是值本身将被传输。使用floatstringfloat强制转换时可能会出现微小的舍入错误,因为您必须始终考虑浮点数。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20326242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档