Ciao,
sto cominciando a imparare il php attraverso vari tutorial in rete e ho un mio sito di test in Joomla sul quale sto provando per ora qualche funzione di base.

Attualmente sto provando a accodare dei record presenti in un file .csv a una tabella del db.

In rete ho trovato del codice che ho riadattato al mio caso ma non riesco a farlo funzionare.

Parto da una pagina "insert.php" :
codice:
<?php $db = "XXX";
 $host = "xxx";
 $username = "xxx";
 $password = "xxx";
 $conn = mysql_connect($host,$username,$password);
 if (!$conn)
 {
 die('Could not connect: ' . mysql_error());
 }
 else
 {
 echo 'Connected to MySql'
 }
 mysql_select_db($db,$conn) or die('not connected to db' . mysql_error());

 if (!mysql_select_db)
 {
 die('Could not connect to db: ' . mysql_error());
 }
 else { echo 'Connected to db';
 }
 ?>

 <form action='insert_data.php' method='POST' enctype='multipart/form-data'>
 Import File : <input type='file' name='sel_file' id='sel_file'>
 <input type='submit' name='submit' value='SUBMIT'>
 </form>

<?php
 HtmlFooter();
 ?>
La prima parte l'ho inserita per controllare la corretta connessione al mio DB e mi dà risultato corretto.

Questa è la "insert_data.php" che mi dovrebbe caricare il file che seleziono, trasformare le righe in un array e accodare i valori alla tabella "sti_esami" tramite la query sql :

codice:
<?php
     $fname = $_FILES['sel_file']['name'];
    
     $filename = $_FILES['sel_file']['tmp_name'];
     $handle = fopen($filename, "r");
     echo $filename;
     echo $handle;
	 
     while (($data = fgetcsv($handle, 1000, ";")) !== FALSE)
     {
         $sql = "INSERT into sti_esami(esame,descrizione,codice) values('$data[0]','$data[1]','$data[2]')";
         mysql_query($sql)
	 }
		 
	 echo "Records added";
	 
?>
Qualche "echo" l'ho inserito solo per controllare passo passo che funzionassero correttamente le funzioni. Beh in conclusione funziona tutto ma non il "while", mi viene restituito "Errore del Server - 500"

Il file .csv è un semplice :

"Aaaa;Bbbbb bbbb;12345"

Qualcuno mi sa aiutare e dirmi dove sbaglio?

Grazie