- Home
- Categorie
- Coding e Sistemistica
- MYSQL e altri Database
- Errore nell'inserimento dati in MySql
-
Errore nell'inserimento dati in MySql
Ciao
Da qualche giorno sto provando ad installare un gestionale, per l'esattezza Gazie, ma ho notato un errore strano che sinceramente ritengo causato dal codice php, in pratica nell'inserimento di un articolo il form con i dati non viene correttamente salvato in un array, determinando l'errore nell'inserimento dei dati nel db.
In pratica esistono due funzioni, la prima si occupa di costruire la query da inviare al db.
function tableInsert ($table, $columns, $newValue) { global $link, $gTables; $first = True; $colName = ""; $colValue = ""; while(list($key,$field) = each($columns)) { $colName .= ($first ? $field : ','.$field); $colValue .= ($first ? " '" : ", '"); $first = False; $colValue .= (isset($newValue[$field]) ? $newValue[$field] : '')."'"; } $query = "INSERT INTO ".$gTables[$table]." ( ".$colName." ) VALUES ( ".$colValue.")"; $result = mysql_query($query, $link); if (! $result ) { $result = "<br />Errore nell'esecuzione di <b>dynQuery</b> <br />Query= <b>$query</b> <br /> Errore Mysql = <b>".mysql_error()."</b><br />"; print $result; } return $result; } ```la seconda prepara i dati da inviare al db
function articoInsert ($codice, $newValue)
{
$table = 'artico';
$columns = array( 'codice', 'descri', 'image', 'barcode', 'unimis', 'catmer', 'preacq', 'preve1', 'preve2', 'preve3', 'aliiva', 'esiste', 'valore', 'scorta', 'riordino', 'uniacq', 'peso_specifico', 'codcon', 'annota', 'adminid');
$newValue['codice'] = $codice;
//agiungo l'utente all'array prima di aggiornare il db
$newValue['adminid'] = $_SESSION['Login'];
tableInsert($table, $columns, $newValue);
}In pratica mi sembra che l'array venga sfasato. Ora il problema è che secondo l'autore questo non succede nelle sue prove ed imputa il problema al mio (server win 2003 e zed engine 2), come cavolo è possibile??
-
A vederlo così sembra corretto, non è che provi ad inserire dei campi con dentro degli apici a cui non hai aggiunto uno slash davanti?
-
No ho riprovato per sicurezza anche ora, ma nessun apice o /
però la cosa strana (provata adesso) è che con Apache funziona!!!!
io sotto IIS 6 in isolazione IIS 5, non riesco farlo funzionare!