ID: 35103 Updated by: [EMAIL PROTECTED] Reported By: php at pjberkel dot com -Status: Open +Status: Closed Bug Type: MySQLi related Operating System: * PHP Version: 5.1CVS-2005-12-02 (cvs) Assigned To: andrey New Comment:
And only one problem per report please. Previous Comments: ------------------------------------------------------------------------ [2005-12-02 07:23:35] php at pjberkel dot com Additionally, it appears that mysqli_stmt_bind_param() suffers from the same unsigned integer problem as mysqli_stmt_bind_result() when there bind type is set to "i" and the actual bind data is > MAX_UNSIGNED_INT on a 32 bit platform. Below is an example of the bug using php5.1-200512020130 and mysql-5.0.16 on RHEL 4 (intel): Reproduce code: --------------- <?php $mysqli = new mysqli("host", "user", "pass", "db"); $mysqli->query("CREATE TABLE temp (id INT UNSIGNED NOT NULL)"); $mysqli->query("INSERT INTO temp (id) VALUES (3000000897),(3800001532),(3900002281),(3100059612)"); $id_val = 3900002281; /* BEGIN EXAMPLE OF BUG */ $stmt = $mysqli->prepare("SELECT id FROM temp WHERE id = ?"); $stmt->bind_param("i", $id_val); $stmt->execute(); $stmt->bind_result($id); $stmt->fetch(); var_dump($id); $stmt->close(); /* END EXAMPLE OF BUG */ $mysqli->query("DROP TABLE temp"); $mysqli->close(); ?> Expected result: ---------------- string(10) "3000000897" Actual result: -------------- int(0) Interestingly, if the bind type in $stmt->bind_param() is changed to "d" the above reproduce code works as expected. ------------------------------------------------------------------------ [2005-11-30 17:26:36] [EMAIL PROTECTED] This bug has been fixed in CVS. Snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. Thank you for the report, and for helping us make PHP better. ------------------------------------------------------------------------ [2005-11-21 21:52:34] [EMAIL PROTECTED] I have a fix for this problem as well as speedup of the current code that handles unsigned ints on 32bit but I will push it after 5.1.0 is released because it's a bit too late in the release cycle. ------------------------------------------------------------------------ [2005-11-15 18:37:22] [EMAIL PROTECTED] I am taking care of this problem. Thanks! ------------------------------------------------------------------------ [2005-11-10 08:54:25] [EMAIL PROTECTED] Andrey, really REALLY big ints don't work yet! :) ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/35103 -- Edit this bug report at http://bugs.php.net/?id=35103&edit=1