php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #35171 mysqli integer (tinyint and others) problem on 64bit
Submitted: 2005-11-09 14:08 UTC Modified: 2005-11-09 14:10 UTC
From: andrey@php.net Assigned: andrey (profile)
Status: Closed Package: MySQLi related
PHP Version: 5.0.5 OS: irrelevant
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: andrey@php.net
New email:
PHP Version: OS:

 

 [2005-11-09 14:08 UTC] andrey@php.net
Description:
------------
In 5.0.5 (existant in 5.0.0-5.0.4) was fixed a bug appearing on 64bit architectures when using prepared statements and binding result data. In more details tinyint, year, mediumint, and int(eger) where fetched incorrectly and incorrect data was returned to the script.
Use the reproduce code to test your installation.

This bug report has been create TO KEEP TRACK of this bug which was fixed without corresponding bug report.

For more information see : http://bugs.mysql.com/bug.php?id=14343

Reproduce code:
---------------
php -r '$c= new mysqli("localhost","root","secret");$c->query("DROP TABLE IF
EXIST test.tint_test;");$c->query("CREATE TABLE test.tint_test (a
tinyint(3));");$c->query("INSERT INTO test.tint_test VALUES
(123)");$s=$c->stmt_init();$s->prepare("select a from
test.tint_test");$s->execute();$s->bind_result($v);$s->fetch();var_dump($v);$c->
query("DROP TABLE EXIST test.tint_test;");'

Expected result:
----------------
int(123)

Actual result:
--------------
int(4357062704804921467)

Patches

Pull Requests

 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Sun Jul 06 20:01:35 2025 UTC