php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #52090 mysql_fetch_assoc returns infinite number of records
Submitted: 2010-06-15 21:35 UTC Modified: 2010-08-26 13:00 UTC
From: gsx1022 at gmail dot com Assigned:
Status: Not a bug Package: MySQL related
PHP Version: 5.3.2 OS: Linux x86
Private report: No CVE-ID: None
 [2010-06-15 21:35 UTC] gsx1022 at gmail dot com
Description:
------------
A MySQL query that should return 5 records returns an infinite number of records. 
It returns the 5 five records correctly, but then it returns them again, and 
again, and again... Other SELECT statements are fine, this is the only 
problematic one. Also, this query works from the MySQL console just fine. At 
first I thought it is an issue with Zend Framework but it turned out it is 
probably not. See this url for (much) more info (also detailed information to 
reproduce): http://framework.zend.com/issues/browse/ZF-9982

Test script:
---------------
$c = mysql_connect('host', 'user', 'pass');
mysql_select_db('db', $c);
$raw = mysql_query('SELECT `name`, `level`, `parent` FROM `allresources_view` ORDER BY `level` ASC');
while ($r = mysql_fetch_assoc($raw)) {
var_dump($r);
echo '<br /><br />';
}
mysql_close($c);

Expected result:
----------------
5 records should have been returned from the database.

Actual result:
--------------
An infinite number of records are returned from the database.

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2010-06-16 03:51 UTC] kalle@php.net
Do you use mysqlnd with ext/mysql or libmysql, in either case does it solve switching the lib?

Is mysqli affected by this issue too on your machine?
 [2010-06-16 03:51 UTC] kalle@php.net
-Status: Open +Status: Feedback
 [2010-06-16 13:19 UTC] gsx1022 at gmail dot com
I am using the php5 package from the Ubuntu Linux APT repository. It seems to use 
libmysql. And yes, mysqli is also affected.
 [2010-06-23 01:44 UTC] johannes@php.net
Please use a recent snapshot from our site, we don't know what kind of patches Ubuntu applies. Please provide the table schema and data you are querying. Whcih MySQL server version?
 [2010-07-06 16:20 UTC] gsx1022 at gmail dot com
In my current situation I cannot afford to set up a test box and try to compile 
the snapshot from php.net. However, I will do so as soon as I can. In the 
meantime here is the source-archive with all patches that I use, from the Ubuntu 
Repositories: 
http://archive.ubuntu.com/ubuntu/pool/main/p/php5/php5_5.3.2.orig.tar.gz

Also, I can confirm that the same problem exists on an x64 box with the same 
software versions too. All other requested information (schema, versions) are 
provided in detail on the link in the description.
 [2010-07-06 16:51 UTC] rasmus@php.net
Can't afford?  As in financially?  There are multiple free virtualization 
mechanisms out there and the OS images are free.  Setting up a clean vm on your 
existing machine is trivial and takes about 30 minutes, tops.
 [2010-07-06 17:16 UTC] gsx1022 at gmail dot com
No, I meant that I cannot afford the time loss since the deadline for my work is 
*really* close, and this is just hobby project. :-P
 [2010-07-06 19:01 UTC] johannes@php.net
Just let me get this straight: You have an issue and now you ask us to invest our (limited) time (for free) to rebuild your setup and find the causing component? - As you can imagine we all have our tasks to do and our deadlines and for some work on PHP is hobby, too.

With your given your schema I was unable to reproduce this case on any of my setups.
 [2010-07-06 19:02 UTC] johannes@php.net
As reference, here the output I get:


array(3) {
  ["name"]=>
  string(4) "root"
  ["level"]=>
  string(1) "0"
  ["parent"]=>
  NULL
}
<br /><br />array(3) {
  ["name"]=>
  string(5) "error"
  ["level"]=>
  string(1) "1"
  ["parent"]=>
  string(4) "root"
}
<br /><br />array(3) {
  ["name"]=>
  string(11) "index_index"
  ["level"]=>
  string(1) "1"
  ["parent"]=>
  string(4) "root"
}
<br /><br />array(3) {
  ["name"]=>
  string(11) "error_error"
  ["level"]=>
  string(1) "2"
  ["parent"]=>
  string(5) "error"
}
<br /><br />array(3) {
  ["name"]=>
  string(12) "error_denied"
  ["level"]=>
  string(1) "2"
  ["parent"]=>
  string(5) "error"
}
<br /><br />
 [2010-07-06 20:12 UTC] gsx1022 at gmail dot com
I am sorry, I was not clear enough. I wanted to say, that it will take some time 
for me to set up a test box, but wanted to share my other findings earlier. I do 
know that you are volunteers, and that others have work to do too.
 [2010-08-09 03:23 UTC] felipe@php.net
Please try using this snapshot:

  http://snaps.php.net/php5.3-latest.tar.gz
 
For Windows:

  http://windows.php.net/snapshots/


 [2010-08-18 19:34 UTC] gsx1022 at gmail dot com
Finally, I have set up a test system, and compiled snapshot 201008181230 on it. 
It works fine! However, if I copy the libphp5.so file from this test system to 
any of the servers where the error occurs, and restart apache, the bug is still 
there! Please help me figure out what is causing this issue. I am clueless.

Thanks,
gsx1022
 [2010-08-21 13:18 UTC] gsx1022 at gmail dot com
It was my fault all the time. The error was in my code. Sorry for bothering you. 
Please close this report.
 [2010-08-26 13:00 UTC] uw@php.net
-Status: Feedback +Status: Bogus
 [2010-08-26 13:00 UTC] uw@php.net
Closing upon request of the bug reporter.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Fri Apr 19 10:01:28 2024 UTC