【问题标题】:CSV file keeps changing numbers on generated CSV file using php?CSV 文件不断更改使用 php 生成的 CSV 文件上的数字?
【发布时间】:2013-05-29 07:43:49
【问题描述】:

我正在 mysql 表中使用 php 生成 CSV 文件转换。

信用卡号在mysql数据库中显示如下44445959636345。当我将 mysql 表转换为 csv 文件时,它没有显示正确的信用卡号,就像这样 4.4446E+13

我的sql查询是$this->dbutil->csv_from_result($query);

CSV 文件更改所有卡号!例如,如果您的卡

44445959636345

而不是如上所示显示... CSV 将其更改并使其显示为:

4.4446E+13

如何解决这个问题,请指导我。

【问题讨论】:

  • 怎么查看csv文件,也可能是编辑器(即excel)的问题
  • 您在数据库中存储 cc 号码?
  • 信用卡号包含 16 个字符,但 excel 单元格仅接受 15 个字符,因此只有格式更改。在 excel 中,如果我单击 4.4446E+13 数字,它会显示 44445959636345 完整详细信息,但我需要直接显示 44445959636345。
  • 您是否尝试将数字放入 csv 中的公式中,例如 =44445959636345
  • 信用卡号对于 MS Excel 或 PHP 中的 32 位整数值来说太长了,因此需要将其视为字符串......并且(给自己的备忘录)永远不要信任将纯文本 cc number 存储在 Excel 文件中的人,尤其是用于下载时

标签: php mysql codeigniter csv type-conversion


【解决方案1】:

问题是:该函数将信用编号称为整数。你要做的就是让它作为文本引用它。

【讨论】:

    【解决方案2】:

    如果您想在 excel 中查看 csv 文件,您可以在数字前面加上一个单引号,这样它将显示为文本。 警告这意味着您需要在将这样的 csv 文件导入数据库时​​删除该引用。这可以通过 php 或 sql 子字符串函数来完成。 所以而不是 44445959636345 输出 '44445959636345 到您的 csv 文件。

    【讨论】:

      猜你喜欢
      • 2023-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-06
      • 2023-01-26
      • 1970-01-01
      • 2016-03-17
      相关资源
      最近更新 更多