Hakikat adlı üyeden alıntı: mesajı görüntüle
aşağıdaki gibi düzeltin

function rastgele_resim($limit="") { 
if(empty($limit)){
$limit =1
}


    global $wpdb;     
 $sorgu = mysql_query("SELECT resim FROM $wpdb->rastgeleresim ORDER BY rand() LIMIT 0,$limit"); 
    while($y=mysql_fetch_object($sorgu)) { 
     
       echo $y->resim;
    }
}
fonksiyonu çağırırken şöyle çağırın

rastgele_resim(10); // burada 10 adet resim döndürür

ancak siz resimleri mysql e gömmüşseniz hata yapmışsınız demektir o tablo şişecektir. resimleri bir klasöre uplıad edip adlarını veritabanına kaydetmeniz daha sağlıklı ve performanslı olacaktı

diğer taraftan veri motonun MyISAM olarak ayarlamanız performans acısından ciddi bir zaman kazandıracaktır eger veri moturu InoDB ise MyISAM olarak değiştirmenizi öneririm
hayır, akıllı rand işlemi yapacak bir fonksiyon veya sql yazılmazsa rand() yine kasacaktır. rand() için LIMIT 0, 30 gibi bir kullanımla performans artırılamaz, rand bütün kayıtları baz alır, sistemi yine yorar, limit ile sadece dönecek kayıt sayısını belirlersiniz.

WHERE ile koşullandırılmış bir sql oluştup o koşul ile rand() kullanan bir php betiği yazılabilir.