ID: 34681 Updated by: [EMAIL PROTECTED] Reported By: adrian at fuzzee dot co dot uk -Status: Feedback +Status: Assigned Bug Type: MySQLi related Operating System: * PHP Version: 5CVS-2005-09-29 (cvs) Assigned To: georg New Comment:
I tested with these (mysql --version): mysql Ver 14.7 Distrib 4.1.13, for pc-linux-gnu (i686) using readline 4.3 mysql Ver 14.7 Distrib 4.1.12, for pc-linux-gnu (i686) using readline 4.3 I don't know what you meant with 'client library version'. Previous Comments: ------------------------------------------------------------------------ [2005-09-30 10:29:21] [EMAIL PROTECTED] Not enough information was provided for us to be able to handle this bug. Please re-read the instructions at http://bugs.php.net/how-to-report.php If you can provide more information, feel free to add it to this bug and change the status back to "Open". Thank you for your interest in PHP. What MySQL Version do you use, which client library version? ------------------------------------------------------------------------ [2005-09-29 17:54:30] [EMAIL PROTECTED] By replacing the echo's with var_dump() calls, I get this: float(0) array(2) { [0]=> string(5) "0.000" ["number"]=> string(5) "0.000" } So what you think is truncation is simply how PHP handles floats. Try "echo 0.00;" for example. Assigned to Georg since this seems really inconsistent behaviour first. (perhaps just needs to be documented?) ------------------------------------------------------------------------ [2005-09-29 17:09:12] adrian at fuzzee dot co dot uk Description: ------------ With mysqli statements, a MySQL double loses trailing zeroes, so '0.000' becomes just '0' and '3.350' would become '3.35'. However, if you use regular mysqli queries (non prepared statements) the trailing zeroes are preserved... Obviously not a fatal bug, but an odd difference in behaviour. Reproduce code: --------------- $sql = "SELECT 0.000 as number"; $mysqli = new mysqli(...); $stmt = $mysqli->prepare($sql); $stmt->bind_result($number); $stmt->execute(); $stmt->store_result(); $stmt->fetch(); $stmt->close(); echo "$number\n"; $r = $mysqli->query($sql); $tmp = $r->fetch_array(); echo "$tmp[0]\n"; Expected result: ---------------- 0.000 0.000 Actual result: -------------- 0 0.000 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=34681&edit=1