Re: aide sur perl (suite)

Startseite

Nachricht beantworten
Autor: Olivier_Allard-Jacquin
Datum:  
To: guilde
Betreff: Re: aide sur perl (suite)
> 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