Prima di tutto ti faccio notare questo:
Codice PHP:
$sql="INSERT INTO stm (art,desc,prezzo) VALUES ($info[0],$info[1],$info[2])";
Questo è errato, per quanto riguarda il prezzo non so ora se il . lo prenda bene, ma mi pare di si, i numeri con la virgola in programmazione sono un pò una scocciatura, perché alcuni linguaggi li vogliono con la , altri con il .
Il problema vero sono i campi art e desc.
Prima di tutto ti consiglio di racchiudere desc fra le quadre, perché è una parola riservata e potrebbe dare problemi.
Inoltre devi racchiudere i due valori art e desc fra gli apici.
Poi non hai considerato la possibilità che vi siano già degli apici nel valore, quindi se ti capita una stringa con l'apice in mezzo sei fregato lo stesso.
Per farla breve dovresti scrivere così
Codice PHP:
$info[0]=str_replace("'","''",$info[0]);
$info[1]=str_replace("'","''",$info[1]);
$sql="INSERT INTO stm (art,[desc],prezzo) VALUES ('$info[0]','$info[1]',$info[2])";
E cmq non so se ti dia problemi il numero col .