ID: 32405
Updated by: [EMAIL PROTECTED]
Reported By: paul at thehedron dot com
-Status: Assigned
+Status: Bogus
Bug Type: MySQLi related
Operating System: Linux (fedora core 3)
PHP Version: 5CVS-STABLE-2005-03-24
Assigned To: georg
New Comment:
Can't repeat (user gave me access on this machine):
mysql> use test;
Database changed
mysql> show tables;
Empty set (0.00 sec)
mysql> CREATE TABLE users (
-> user_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
-> lastname VARCHAR(50) NOT NULL,
-> PRIMARY KEY(user_id));
Query OK, 0 rows affected (0.02 sec)
mysql> insert into users value (0, 'Paul'), (0, 'Georg');
Query OK, 2 rows affected (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> quit
[EMAIL PROTECTED] ~]$ cat 32405.php
<?php
$mysqli = new mysqli('localhost', 'georg', '', 'test');
if ($stmt = $mysqli->prepare("SELECT user_id, lastname FROM users")) {
$stmt->execute();
$stmt->bind_result($col1, $col2);
while ($stmt->fetch()) {
printf("%s %s\n", $col1, $col2);
}
$stmt->close();
}
$mysqli->close();
?>
[EMAIL PROTECTED] ~]$ php -f 32405.php
1 Paul
2 Georg
Previous Comments:
------------------------------------------------------------------------
[2005-03-23 23:48:48] [EMAIL PROTECTED]
Georg, there are several reports open on mysqli already..can you
finally fix the stuff or move the whole thing to sibe..PECL?
------------------------------------------------------------------------
[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] [EMAIL PROTECTED]
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