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" :
La prima parte l'ho inserita per controllare la corretta connessione al mio DB e mi dà risultato corretto.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(); ?>
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 :
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"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"; ?>
Il file .csv è un semplice :
"Aaaa;Bbbbb bbbb;12345"
Qualcuno mi sa aiutare e dirmi dove sbaglio?
Grazie

Rispondi quotando