mysql_fetch_array fonksiyonuna sokmadan önce mysql_num_rows ile dönen değer var mı diye kontrol yapabilirsiniz. Nitekim, sorgu doğru olabilir ancak sonuç boş dönüyorsa da bu hatayı verir.
Sorgu yanlış olduğu için mysql_num_rows fonksiyonu da aynı hatayla karşılaşacaktır.
Çünkü sorgudan dönen FALSE durumudur.
Ancak sorgu doğru, dönen sonuç boş ve while($result = mysql_fetch_array($query)) gibi bir kullanım var ise while çalışmaz.
$result = mysql_fetch_array($query); ile alınırsa döngüye girecek $result foreach gibi fonksiyonla kullanılacaksa da foreach $result için bu bir dizi değil işlem yapamam hatası verecektir.