我正在使用 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=;");