bu hata 2 sebepten dolayı çıkar,
birincisi mysql_connect' i bir değişkene atadıysan eğer örnegin : $baglan=mysql_connect("localhost",.....); gibi , query lerinde bunu belirtmelisin, eğer başka bir database üzerinden de işlem yapıyorsan, örneğin mysql_query("select ...",$baglan); belirtmezsen eğer php en son açılan mysql üzerinden işlem yapacaktır,
yeri gelmişken söyleyim, eğer bu tarz değişken kullanıyorsan fonksiyonların içinde global $baglan; belirtmelisin, aksi takdirde yazmış olduğun hatayı alırsın.
sanırım wordpress kullanıyorsun ve başka bir database üstünden işlem yapmadığını farzediyorum, sorunun ikinci sebepte yatıyordur.
ikinci sebep : etc/my.cnf ayarlarında sorgu süresi (artık kaç saniyeye ayarlanmışsa, bende 1 mesela) uzun sürüyorsa otomatikman baglantın koparılır ve o hatayı alırsın, tavsiye edebilecegim şey eğer myIsam tablosu kullanıyorsan mysql_num_rows yerine count(*) methodunu kullanarak satır sayısını çekmendir, daha hızlı bir sorgu olur, my.cnf de ki limiti aşmazsın.