mi sa ke avevo fatto casino nell'impostare l'indice del database...cqm ora ho inserito anke l'inserimento del valore x l'indice e funziona tutto.....
grazie mille di avermi "sopportato"...![]()
ciaooo
![]()
mi sa ke avevo fatto casino nell'impostare l'indice del database...cqm ora ho inserito anke l'inserimento del valore x l'indice e funziona tutto.....
grazie mille di avermi "sopportato"...![]()
ciaooo
![]()
ho un problemino....ho notato ke le query ke devono importare del codice con dentro un apice...per esempio se c'è scritta la parola CITTA'...quella query da errore e non viene inserito niente ne db..... come posso ovviare a questo problema ? ci sono altri caratteri da cui mi devo difendere? grazie
![]()
addslashes($citta)
quando visualizzerai i dati a video:
stripslashes($rowdb['citta']);
![]()
Ciao,
IMHO il metodo più semplice ed efficiente è il seguente
crea la tabella come la vorresti e poi usa mysqimport o LOAD DATA INFILE
http://dev.mysql.com/doc/mysql/en/mysqlimport.html
http://dev.mysql.com/doc/mysql/en/load-data.html
poi applica eventuali correzioni
ti trovi i dati caricati in un attimo (se non vuoi fare uno script ci sono anche diversi tool per amministrare Mysql che ti forniscono queste funzionalità)
per favore NIENTE PVT TECNICI da sconosciuti
molto interessante, non conoscevo queste funzionalità, grazie![]()
HO dovuto importare un csv da 200 mega (tutte le lavorazioni di telecom edl 2005 riguardanti i reclami videotelefono e aladino pensate quanti)
Cmq in locale ho aperto il file con un editor di testo (sotto linux non ci ha messo neppure troppo meno di 5 minuti ) e ho ricopiato il contenuto in una textarea (ho modificato l'impostazione oltre i 2048 kb di default) e l'ho passata ad una pagina che me la inserisce nel db e che me la lavora cosi:
Codice PHP:
$contratti = explode ("\r\n", $_POST["valori"]);
for ($i = 0; $i < count ($contratti); $i++)
{
$colonna = explode (";", $contratti[$i]);
e se in un campo qualcuno ha inserito un ;?
impossibileOriginariamente inviato da gianiaz
e se in un campo qualcuno ha inserito un ;?
Per me era solo un discorso numerico al massimo possono essere lettere tipo SUD CENTRONORD nulla di più .
Ma se lui si appoggia su un excel puo modificare il ; delle celle con una qualcosa di strano tipo #@1£ e al che il gioco sarebbe fatto
Ciao, per importare tramite script php valori da un file csv avevo fatto una cosa del genere, ma ottengo errori:
<?
include("config.inc.php");
$db = mysql_connect($db_host, $db_user, $db_password);
if ($db == FALSE)
die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
$query = "use $db_name";
$ca="";
$valu="";
if (mysql_query($query, $db)){
$percorso=$_GET['file'];
$dbtable=$_GET['dbtable'];
$campi = mysql_list_fields($db_name,$dbtable,$db);
$colonne = mysql_num_fields($campi);
$virgola = ",";
for ($k = 0; $k < $colonne; $k++){
if($k==$colonne-1) $ca = $ca.mysql_field_name($campi,$k);
else $ca = $ca.mysql_field_name($campi,$k).$virgola;
}
$query2 = "LOAD DATA LOCAL INFILE $percorso INTO TABLE $dbtable FIELDS TERMINATED BY $virgola LINES TERMINATED BY \\r\\n";
//mysql_query($query2, $db) or die("Errore2 ".mysql_error());
$separatore=";";
$apice= "'";
$nome_file=$_GET['file'];
if(file_exists($nome_file)){$fp = fopen($nome_file, "r");}
else{echo "File introvabile
"; exit();}
while (!feof($fp)) {
$linea = fgets($fp,4096);
$liste = explode($separatore,$linea);
$i=0;
$j=0;
for ($i = 0; $i < $colonne; $i++){
$r[$i]=addslashes(stripslashes($liste[$i]));}
$i=0;
for ($i = 0; $i < $colonne; $i++){echo $r[$i],'
';}
for($j=0;$i<$colonne;$j++){
if($j==0){$valu = $apice.$r[$j].$apice;}
else{$valu = $valu.$virgola.$apice.$r[$j].$apice;}
}
$query3 = "INSERT INTO $dbtable ($ca) VALUES ($valu)";
echo $query3,'
';
mysql_query($query3, $db) or die("Errore3 ".mysql_error());
}
}
else{echo "Connessione al db non riuscita";}
?>
in $query2 ottengo errore di sintassi (non è vero...se la stampa la query è corretta!!!)
in $query3 ottengo che la query non collima col numero delle colonne perchè l'array $valu contiene strani caratteri...
$percorso=$nomefile=nome file csv
qualcuno saprebbe dirmi dove sbaglio?![]()
Mick: Be Simply Natural