|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2003-02-20 17:26 UTC] ryanphpb at ryanjameson dot com
There's an old report #13807 that sounds similar to what I'm experiencing. The issue is that a value of 11.16 is coming back in my result array as 11. Other values in the same field in the same result are coming back fine, ie... the previous value was 111.6. So for some reason this field is rounding wrong but just for this value. When I look at it through ODBC with MS Access I see 11.16.
--------------------------------
$q = "select producthandle.sellingprice from customerorder, producthandle where producthandle.id = customerorder.nr and customerorder.nr = '030216-22782' and class='CO'";
$con = sybase_connect("#server#","#user#","#password#");
$rs = sybase_query($q,$con);
while ($ar=sybase_fetch_array($rs)){
echo $ar['sellingprice'] . "<br>";
}
------------------------ OUTPUT:
111.6
11
33.4
555.3
12.31
1.23
------------------------
The 11 should be 11.16...
The field type is native sybase money.
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Thu Oct 30 03:00:01 2025 UTC |
NO!!!! Sorry about that the sample I gave you is not accurate. It turns out that the decimal values are only available for the first row in the record set. All consecutive rows after simply have the decimal chopped off. Here's a sample: while ($ar=sybase_fetch_array($rs)){ echo $ar['purchaseprice']."<br>"; } returns: 24.72 0 3 0 0 0 17 19 0 64 0 52 0 24 0 0 0 0 0 24 while the actual values are: 24.72 0.00 3.51 0.00 0.00 0.00 17.65 19.10 0.00 64.56 0.00 52.80 0.00 24.72 0.00 0.00 0.00 0.00 0.00 24.72