#32405 [Opn->Asn]: mysqli->fetch() is returning bad data
ID: 32405
Updated by: sniper@php.net
Reported By: paul at thehedron dot com
-Status: Open
+Status: Assigned
Bug Type: MySQLi related
Operating System: Linux (fedora core 3)
PHP Version: 5.0.3
-Assigned To:
+Assigned To: georg
New Comment:
Georg, there are several reports open on mysqli already..can you
finally fix the stuff or move the whole thing to sibe..PECL?
Previous Comments:
------------------------------------------------------------------------
[2005-03-22 20:20:48] paul at thehedron dot com
Pulled down the recommended CVS snapshot, compiled and installed. Info
shows PHP Version 5.0.4RC2-dev.
Ran the same code and got the same result.
------------------------------------------------------------------------
[2005-03-22 00:10:41] tony2001@php.net
Please try using this CVS snapshot:
http://snaps.php.net/php5-STABLE-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php5.0-win32-latest.zip
------------------------------------------------------------------------
[2005-03-22 00:06:09] paul at thehedron dot com
Description:
------------
mysqli->fetch() is returning bad data on int columns. I saw this
listed, then closed as bogus (29002). I just hit it today and assure
you it is not bogus.
Here is my full setup:
-----------------------------------------------------------
CPU: AMD64
OS: Fedora Core 3 (2.6.9-1.667)
PHP: 5.0.3
libmcrypt-2.5.7
mcrypt-2.6.4
mhash-0.9.2
Apache: 1.3.33
mod_ssl-2.8.22-1.3.33
openssl-0.9.7e
MySQL: 4.1.10
GCC: 3.4.2
-----------------------------------------------------------
PHP configuration:
./configure \
--with-apxs=/www/bin/apxs \
--with-mysql=/usr/local/mysql \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--with-mcrypt=/shared/LAMP/PHP5/libmcrypt-2.5.7 \
--enable-ftp \
--enable-trans-sid
Reproduce code:
---------------
CREATE TABLE users (
user_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
lastname VARCHAR(50) NOT NULL,
PRIMARY KEY(user_id));
-----------------------------------------------------------------------
<?php
$mysqli = new mysqli('localhost', 'user', 'password',
'test');
if ($stmt = $mysqli->prepare("SELECT user_id, lastname FROM users")) {
$stmt->execute();
$stmt->bind_result($col1, $col2);
while ($stmt->fetch()) {
printf("%s %s <br />", $col1, $col2);
}
$stmt->close();
}
$mysqli->close();
?>
Expected result:
----------------
Expected results:
1 Peterson
2 Asenbach
Actual result:
--------------
Actual results:
32199691940659210 Peterson
32199691940659211 Asenbach
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=32405&edit=1
Thread (7 messages)