|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2016-02-23 15:41 UTC] b dot vonheesen at maprom dot de
Description:
------------
Starting position:
Ubuntu 14.04 LTS 64-Bit, PHP 7.0.3
Interbase with dialect 1
All columns of type NUMERIC return wrong values.
The returned value is the ordinal position multiplied with 0.4 instead of the correct value.
Sorry, I don't know how to use git diff so I created a diff with
diff -Naur firebird_statement.c firebird_statement.new > patch.c
Test script:
---------------
$pdo = new PDO('firebird:...');
$pdo->query('CREATE TABLE test (id INTEGER, name VARCHAR(20), price NUMERIC(15,2), price2 NUMERIC(15,2))');
$pdo->query('INSERT INTO test(id, name, price, price2) VALUES(1, 'Test1', 6.45, 7.25)');
$pdo->query('SELECT id, name, price FROM test');
$result = $pdo->fetchAll();
Expected result:
----------------
$result = [
[
'id' => 1, // column 0
'name' => 'Test1', // column 1
'price' => 6.45, // column 2
'price2' => 7.25 // column 3
]
Actual result:
--------------
$result = [
'id' => 1, // column 0
'name' => 'Test1', // column 1
'price' => 0.8, // column 2: 0.4 * 2
'price2' => 1.2 // column 3: 0.4 * 3
]
PatchesCannotSeeFormerlyUploadedPatch_HereAgain (last revision 2016-02-24 08:31 UTC by b dot vonheesen at maprom dot de)Pull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Tue Oct 28 19:00:01 2025 UTC |
result of my query: See the attribute values: PEDVRTOTAL PEDVRDESCTO PEDVRDESCTOSER TOTAL FINAL [0] => stdClass Object ( [ID_PEDIDO] => 218488 [PEDDTEMIS] => 2015-12-01 00:00:00 [PEDCODIGO] => 206265.001 [PEDVRTOTAL] => 2065761874.56 [PEDVRDESCTO] => 3096554025.60 [PEDVRDESCTOSER] => 4127346176.64 [EMPCODIGO] => 1 [EMPRAZSOCIAL] => WINNIKES IND. E COM. DE OCULOS LTDA [PEDDTSAIDA] => [PEDORDEMCOMPRA] => [TOTAL_FINAL] => 10312099082.88 [NFCODIGO] => 000002.3 [NFDTEMIS] => 2015-12-01 00:00:00 )these fields are numeric (15,2) Expected result: stdClass Object ( [PEDVRTOTAL] => 32.5 [PEDVRDESCTO] => 0 [PEDVRDESCTOSER] => 0 [TOTAL_FINAL] => 32.5 ) Actual result: stdClass Object ( [PEDVRTOTAL] => 2065761874.56 [PEDVRDESCTO] => 3096554025.60 [PEDVRDESCTOSER] => 4127346176.64 [TOTAL_FINAL] => 10312099082.88 )