Importer un fichier CSV dans une table mySQL
Bonjour,
Comme ça, le problème a l'air simple, mais :
- la commande "load data local infile...." n'est pas implémentée dans la version de mySQL que j'utilise (et le client ne veut pas mettre à jour....)
- Certains champs comportent des "retours chariots", ce qui plante le "parsing"
Le code utilisé (en php):
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
$file = fopen( $fileName, 'r' );
$k = 0;
while ( ! feof( $file ) )
{
$k++;
$line = fgets( $file, 1024 );
if ( strlen( $line ) > 2 )
{
$line = addslashes( $line );
$line = str_replace( ";", "', '", $line );
$requete = 'INSERT INTO '.$tableName.' VALUES ( \''.$line.'\' ) ';
if ( ! mysql_query( $requete, $con ) )
echo 'Erreur Ligne '.$k.' : '.mysql_error().'<br>'.$requete.'<br>';
}
else
echo 'Ligne '.$k.' ignorée.<br>';
} |
Existe-t-il une fonction ou une classe qui puisse faire cet import ?
D'avance, merci.