Salve ragazzi ho un problemino su cui sto sbattendo la testa da ore, ho creato una funzione che estrae dei dati da un file txt confronta i vari array creati e crea delle tabelle bla bla ....la funzione è molto lunga ed articolata e dato che ho fatto varie prove sono arrivato a determinare cosa crea l'errore.
vi metto un esempio semplice così come l'ho testato che crea lo stesso errore:
mi sono creato questa funzione
la tabella viene creata però dà errore table is ready exist
stessa cosa quando vado a inserire tutto il resto, viene inserito tutto e poi partono gli errori di duplicate.
in pratica è come se dopo la prima creazione(o inserimento) ne tenta un altro e dà errore.
probabilmente è perchè si trova in un foreach ma non vedo altra soluzione.
vi metto un esempio semplice così come l'ho testato che crea lo stesso errore:
mi sono creato questa funzione
PHP:
$textfile = file($file);
for($x=0;$x<count($textfile);$x++){
$multi[]=explode("\t",$textfile[$x]);
}
$campi=$multi[0];////questa riga sono le intestazioni dei campi
$prova=$multi[1];
///questa è la prima riga per trovare i valori numerici e definire se varchar o int, tutte le altre righe sono uguali
$query.="CREATE TABLE pippo(";
foreach($campi as $key=>$value){
foreach($prova as $k=>$v){
if(($key==$k)){
if(is_numeric($v)){
$query.= $value. " mediumint(8) NULL, ";//la stringa è composta di soli numeri
}else{
$query.= $value. " VARCHAR(255) NULL, ";
}
}
}
}
$query.="PRIMARY KEY (".$primary1."))";
$db->query($query);
if (!$db>query($query)) printf("ErrorCREATE: ".$query."%s\n", $db->error)."<br>";;
return true;
}
la tabella viene creata però dà errore table is ready exist
stessa cosa quando vado a inserire tutto il resto, viene inserito tutto e poi partono gli errori di duplicate.
in pratica è come se dopo la prima creazione(o inserimento) ne tenta un altro e dà errore.
probabilmente è perchè si trova in un foreach ma non vedo altra soluzione.