Quote Originariamente inviata da Alhazred Visualizza il messaggio
Che te ne fai del ciclo foreach e dell'addslashes?

Per fare l'escape dei dati da inserire nel db si usa mysql_real_escape_string(), prova ad inserire i dati nel db facendo l'escape con questa funzione, quindi se nel form hai il campo veicolo, per l'insert userai

Codice PHP:
$sql "INSERT INTO commesse (veicolo, ...) VALUES ('".mysql_real_escape_string($_POST['veicolo']).', ... "); 

Ciao Alhazred,
in realtà ho risolto con l'insert, il problema però mi è rimasto con la query di update, mi da errore

questa la query

codice:
$sql = "UPDATE Commesse SET veicolo = UPPER ('$veicolo'), targa = UPPER ('$targa'), km = UPPER ('$km'), telaio = UPPER ('$telaio'), cliente = UPPER ('$cliente'), indirizzo = UPPER ('$indirizzo'), piva = ('$piva'), tel = ('$tel'), itr1 = UPPER ('$itr1'), itr2 = UPPER ('$itr2'), itr3 = UPPER ('$itr3'), itr4 = UPPER ('$itr4'), itr5 = UPPER ('$itr5'), itr6 = UPPER ('$itr6'), itr7 = UPPER ('$itr7'), itr8 = UPPER ('$itr8'), itr9 = UPPER ('$itr9'), itr10 = UPPER ('$itr10'), itr11 = UPPER ('$itr11'), itr12 = UPPER ('$itr12'), itr13 = UPPER ('$itr13'), itr14 = UPPER ('$itr14'), itr15 = UPPER ('$itr15'), for1 = UPPER ('$for1'), for2 = UPPER ('$for2'), for3 = UPPER ('$for3'), for4 = UPPER ('$for4'), for5 = UPPER ('$for5'), for6 = UPPER ('$for6'), for7 = UPPER ('$for7'), for8 = UPPER ('$for8'), for9 = UPPER ('$for9'), for10 = UPPER ('$for10'), for11 = UPPER ('$for11'), for12 = UPPER ('$for12'), for13 = UPPER ('$for13'), for14 = UPPER ('$for14'), for15 = UPPER ('$for15'), imp_1 = $imp_1, imp_2 = $imp_2, imp_3 = $imp_3, imp_4 = $imp_4, imp_5 = $imp_5, imp_6 = $imp_6, imp_7 = $imp_7, imp_8 = $imp_8, imp_9 = $imp_9, imp_10 = $imp_10, imp_11 = $imp_11, imp_12 = $imp_12, imp_13 = $imp_13, imp_14 = $imp_14, imp_15 = $imp_15, totale = $totale, n_tecnico = UPPER ('$n_tecnico'), data = STR_TO_DATE('$data', '%d/%m/%Y') WHERE id = '".$_SESSION['id']."'";
questo l'errore

codice:
WHERE id = '66': You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''), km = UPPER ('125000'), telaio = UPPER ('1212121212'), cliente = UPPER ('PROV' at line 1