WTF? mysql_query returns only one row

Holy crap am I frustrated.


$smash_my_face_in = mysql_query("SELECT id FROM table_with_thousands_of_records");
print_r(mysql_fetch_array($smash_my_face_in));

returns:


Array([0] => 1[id] => 1)

All the queries that I have in every single other part of my project work fine and return more than one row.

Any NEW query I try to fetch now returns only one row, regardless of the table.

ie:


print_r(mysql_fetch_array(mysql_query("SELECT id FROM posts")));

returns:


Array([0] => 1[id] => 1)

But


print_r(mysql_fetch_array(mysql_query("SELECT id FROM books WHERE user='$id' AND region='$region' AND matches IN($matches))));

generates a list of hundreds of records.

Why is there no smiley that suits my rage/frustration/anger/willingness to slaughter mankind?