ID:               40187
 User updated by:  callawey at gmail dot com
 Reported By:      callawey at gmail dot com
 Status:           Bogus
 Bug Type:         Math related
 Operating System: windows xp
 PHP Version:      5.2.0
 New Comment:

while($row = $DB->fetchArray($result))
                {
                        for($i=0;$i<=12;$i++)
                        {
                                $str .= rand(0,9);
                        }
                        //$str = mt_rand(100000000000, 999999999999);  
                        
                        $sqlc = sprintf("UPDATE %s SET user_id='%s' WHERE 
id='%s'",
$DB->prefix("users"), $str, $row["id"]);
                        $DB->queryF($sqlc);
                }



this code makes all colums -1


Previous Comments:
------------------------------------------------------------------------

[2007-01-21 19:10:58] [EMAIL PROTECTED]

Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to report
a bug at http://bugs.php.net/how-to-report.php

Integer overflow on 32 bit systems is the cause.

------------------------------------------------------------------------

[2007-01-21 19:06:47] callawey at gmail dot com

Description:
------------
rand and mt_rand generates random lenght integer between -9999999999
and +9999999999. 

example mt_rand(100000000000, 999999999999);
outputs: -564, -688852, 5586666988, -68889558

Reproduce code:
---------------
$str = mt_rand(100000000000, 999999999999);

Expected result:
----------------
positive numbers between 100000000000 and 999999999999

Actual result:
--------------
-492911349,1162038978,-219333642


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=40187&edit=1

Reply via email to