mysql_num_rows fonksiyonu sqlin utanması gereken bir fonksiyondur. belli bir kayıttan sonra sapıtıyor kendileri. bunun yerine count kullanmanız yerinde olacaktır.

<?
$say=mysql_fetch_assoc(mysql_query(" select count(*) as say from tabloadi where sutun='$degisken' "));
if($say[say]==0){
//insert et
}else{
//böyle bir kayıt vardır
}
?>