Ci sarebbe la funzione RAND() di MySQL ma da quanto ho potuto leggere è ottimizzata molto male in quanto usa tabelle temporanee che rallentano di brutto l'esecuzione della funzione.
Detto questo ti consiglio di fare il random da PHP...
selezioni tutte le row del DB:
Codice PHP:
$result = mysql_query("SELECT * FROM gallery");
poi butti in un array il risultato e ne ricavi la grandezza:
Codice PHP:
$j=0;
while($row[$j] = mysql_fetch_array($result)) { $j++; }
$n = count($row);
poi prelevi un indice casuale dall'array e ricavi il valore dell'immagine:
Codice PHP:
$x = rand(0, $n);
print($row[$x]['img_small']);
Non so se hai storato l'immagine o solo il nome quindi ho messo un print cmq il concetto per estrarre il dato è sempre quello.
Spero ti torni utile
bye^^