0

我正在使用 mdbtools 连接到 mdb 文件并从 mdb 文件中的表中检索一些数据。

在表中有一个字段,其中包含如下值

0.17, 0.25, 0.17, 0.50, 0.75

在我的 MacBook 上使用 MDB Explorer 查看数据库时,我看到了这些数字。但是当我在 PHP 中使用 PDO/ODBC 连接选择相同的字段时,这就是我得到的值;

000000000000000.

当我在 MDB Explorer 中查找字段信息时,这是我得到的信息;

  • 类型:数字
  • 精度: 17
  • 规模: 2
  • 小数位:自动
  • 要求:

像这样的价值观

1.25, 1.3, 1.4, 1.2 ....

我在 PHP 中获得的价值;

000000000000001.

当我从 MDB Explorer 将表转储到 .sql 文件时,我得到如下值;

3.60 instead of 000000000000003.

似乎当我得到 PHP 的值时,它被四舍五入并填零。任何人对可能出现的问题有任何建议,以及我该如何解决这个问题?

$query = 'SELECT * FROM Sales';
$db = isset($this->connection) ? $this->connection : $this->openConnection();
$se = $db->prepare($query);
$se->execute();

while( $s = $se->fetch(PDO::FETCH_ASSOC) ){
    echo $s['HoursWorked']. PHP_EOL;
}

我也尝试转储结果,但是一旦我获取它,值就是这样。

这是连接:

new PDO("odbc:DRIVER=MDBTools;DSN=MYMDB;UID=;PWD=;");
4

0 回答 0