Ciao a tutti!
Sto provando a fare un esercizio in php. Ho creato un semplice database con una tabella. Adesso voglio stampare una tabella html contenente i valori della tabella del database.
Codice PHP:
<?php
    
//mi connetto al database con nome utente e password
    
mysql_connect("localhost""prova""prova");
    
//seleziono il database (può essercene più di uno)
    
mysql_select_db("prova");
    
    
//seleziono tutte le righe complete e le salvo in un array di array, in modo da poter facilmente
    //stampare una tabella html contenente tutti i valori del database
    
$result mysql_query("SELECT Titolo, Artista, Anno FROM CD ORDER BY Titolo");
    
$i 0;
    while (
$row mysql_fetch_array($result)) {
        
$data[$i++] = array('titolo'=>$row['Titolo'],'artista'=>$row['Artista'],'anno'=>$row['Anno']);
    }
?>
<html>
    <head>
        <title>Prova connessione al database con PHP</title>
    </head>
    <body>
        <table>
            <?php
                
foreach ($data as $elemento) {
                    echo 
'<tr>';
                    foreach (
$elemento as $valore) {
                        echo 
'<td>';
                        echo 
"$valore";
                        echo 
'</td>';
                    }
                    echo 
'</tr>';
                }
            
?>
        </table>
    </body>
</html>
Il problema è quando provo ad annidare i due cicli foreach. O meglio, l'errore lo ottengo al primo foreach: mi dice "Warning: Invalid argument supplied for foreach()".
Dove sbaglio? Grazie in anticipo!