Originariamente inviato da ciro78
fai così
Codice PHP:
$query=mysql_list_tables("nome database");
while (
$riga mysql_fetch_row($query)) {
        print 
"Tabella:" .  $riga[0] ."\n";
    } 
nel while hai $riga...che è l'insieme di tutte le tabelle
basta che verifichi con quella

poi magari qualche guru mi spiega perchè non funziona con un ciclo for each mentre col while si
non serve essere guru per capire il perche' ...

la funzione mysql_fetch_row() & C. legge una riga per volta dal buffer del result set.

il while prosegue nella scansione del result set tramite il TRUE reso dalla funzione mysql_fetch_* e tu vai a leggere quanto passato in $riga, di volta in volta, fino a quando la funzione raggiunto il fondo del buffer rendera' un FALSE.

il foreach invece legge l'array $riga che e' composto da un solo record e quindi non scandisce il result set ma ti da solo i valori di quella specifica riga estratta dalla funzione e non i restanti record che rimangono nel buffer del result set.