Jump to content

VERY Strange MySQL Problem


Shwaza

Recommended Posts

Hi, thanks for reading this :).

I have a really weird problem in a script I'm writing and I can't think of what could possibly cause it. Here is the code I'm using:

[code]$sql = "SELECT ID FROM ". $table. "_choices";
$query = mysql_query($sql) or die("A MySQL error occurred: ". mysql_error());
echo "mysql_num_rows - ". mysql_num_rows($query). "<br />";
echo "count mysql_fetch_array - ". count(mysql_fetch_array($query));[/code]

I put the two echo's in to determine my problem. The problem is that the output text is:

mysql_num_rows - 5
count mysql_fetch_array - 2

There SHOULD be 5 rows, but why would mysql_fetch_array() only return 2 even when mysql_num_rows told me there's 5. I'm 100% positive there are 5 rows in there, and I can't understand why mysql_fetch_array() wouldn't return them all :S.

If anyone could help it would be MUCH appreciated!

Thanks!
Link to comment
https://forums.phpfreaks.com/topic/24004-very-strange-mysql-problem/
Share on other sites

That makes sense, however when I use it in the loop for my process it only works for ID 1 and 4 :S. The process looks like:

while( $r = mysql_fetch_array($query) )
{
  ... (the process)
}

and if I echo out the IDs each time the loop runs through it only comes up with 1 and 4 :S. If I just do:

while( $r = mysql_fetch_array($query) )
{
  echo $r['ID']. " ";
}

however, it echos out 1 2 3 4 5 like it should :S. Do you know why it might only echo out ID 1 and 4 during the process but echo out all 5 when it's just doing the echo? It makes no sense to me.

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.