Originariamente inviato da Simonetgl
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