> J'ai essayé, et j'ai toujours des problèmes:
>
> GRANDEMANGE.Ph GRANDEMANGE.Ph@???
> Grand'b grand-b@???
> DBD::mysql::st execute failed: You have an error in your SQL syntax near
> 'Pa',
> ', '','','','','',' at line 2 at ./recup_addr.pl line 65, <FILE> line
92.
> DBD::mysql::st execute failed: You have an error in your SQL syntax near
> 'Pa',
> ', '','','','','',' at line 2 at ./recup_addr.pl line 65, <FILE> line
92.
>
> Quand ce n'est plus sur Grand'b c'est sur une ligne suivante où il y a 1
ou
> plusieurs '
>
> $turba_statement = "INSERT INTO $TURBA_TABLE VALUES
> ('$unique_key', '$owner', '$fullname',
> '','$adresse', '','','','','','','','','')";
>
> C'est sur cette ligne qu'il plante!
Le problème ne vient pas du tout de ton expression régulière Perl,
mais
bien de ce que tu écris dans ton SQL !
SQL n'accèpte pas les "'", car ils font parti de la syntaxe. Il
faut que tu
rajoute un "\" à tout les caractères spéciaux de SQL (entre autre, il y a
:
"'", "\", "%"):
$fullname =~ s/\'/\\\'/g;
$fullname =~ s/\\/\\\\/g;
$fullname =~ s/%/\\%/g;
Il faut evidement aussi faire ces convertions pour les autres
variables
qui te servent à créer ta requête SQL.
Olivier