fix wrong insert sql construction

field type detection was made before optional conversions so it might be wrong; i replaced it with a more simple solution
This commit is contained in:
Christophe Battarel 2012-10-27 12:55:28 +02:00
parent 6b07579620
commit 253e3412db

View File

@ -542,10 +542,22 @@ class ImportCsv extends ModeleImports
// Define $listfields and $listvalues to build SQL request // Define $listfields and $listvalues to build SQL request
if ($listfields) { $listfields.=', '; $listvalues.=', '; } if ($listfields) { $listfields.=', '; $listvalues.=', '; }
$listfields.=$fieldname; $listfields.=$fieldname;
/*
field type detection was made before conversions so it can be wrong
if ($arrayrecord[($key-1)]['type'] < 0) $listvalues.=($newval=='0'?$newval:"null"); if ($arrayrecord[($key-1)]['type'] < 0) $listvalues.=($newval=='0'?$newval:"null");
elseif ($arrayrecord[($key-1)]['type'] == 0) $listvalues.="''"; elseif ($arrayrecord[($key-1)]['type'] == 0) $listvalues.="''";
elseif ($arrayrecord[($key-1)]['type'] > 0) $listvalues.="'".$this->db->escape($newval)."'"; elseif ($arrayrecord[($key-1)]['type'] > 0) $listvalues.="'".$this->db->escape($newval)."'";
*/
/*
lines below replace lines above and are much simple
*/
if (!isset($newval)) $listvalues.="null";
elseif (empty($newval)) $listvalues.="''";
else $listvalues.="'".$this->db->escape($newval)."'";
/*
end of replace
*/
} }
$i++; $i++;
} }