小编典典

mysqli_fetch_assoc(&PDO提取assoc)将数字存储为字符串

ajax

像往常一样,我有责任到处寻找溶胶,但无济于事。

mysqli_fetch_assoc(显然)将我的数字存储为字符串。

通常,我不太关心,但是我的站点几乎是100%的ajax,并且它会移动大量数据,因此所有这些json’都开始累加。

如果我只是获取一个列值,则可以进行intval,但是我想获取具有相关列名的整个行。

有没有办法让mysqli_fetch_assoc(和PHP PDO的assoc)将数字存储为数字?

提前谢谢了!


阅读 439

收藏
2020-07-26

共1个答案

小编典典

MySQL可以存储64位数字和无符号数字,PHP的int类型默认情况下都不支持这两种数字。如果尝试从溢出intPHP中变量的数据库中获取数字数据,则会丢失信息。这就是PHP数据库客户端将数字作为字符串提取的原因。

发表您的评论:

是的,如果您担心JSON的大小,请在PHP应用程序中转换数据以获得更紧凑的表示形式。

尽管既然您说过要将列名作为JSON的一部分进行传输,但字符串格式的整数和二进制整数之间的区别似乎并不是瓶颈。

我的意思是,将string-
int转换为二进制int可使位减少约50%。但是,无论如何,如果您将列名作为字符串使用,则只缩小了JSON的一小部分。列仍然是字符串。

2020-07-26