Re: aide sur perl (suite)

Page principale

Répondre à ce message
Auteur: sCALP
Date:  
À: guilde
Sujet: Re: aide sur perl (suite)
From: "anne aublanc" <anne.aublanc@???>
Sent: Thursday, November 14, 2002 3:28 PM

> Merci!
> Surtout que d'habitude, je le fais!
>
> $fullname =~ s/\'/\\\'/g;
> $adresse =~ s/\'/\\\'/g;
>
> A faire avant d'insérer un enreg dans mysql!
>
> anne


je prefere te donner un petit tips en DBI/DBD sous perl, tu verras que c
magique, tu n'as meme plus a te soucier du contenu de tes chaines....
je me complique un peu l'affaire en proposant plusieurs appels successifs a
la meme requete en changeant un parametre, et en gerant plusieurs reponses a
chaque requete...
sCALP


use DBI;

# je cree ma connection a la DB
$dbh = DBI->connect("DBI:mysql:database=dbname","user","password");

# je tape ma requete, les variables sont remplacees par des ?
$sql = "SELECT champ1,champ2 FROM table WHERE champ1=? AND champ2=?";

# je 'pre-mache' la requete
$query = $dbh->prepare($sql);

for ($i=0; $i<@liste; $i++) {
    # la, j'execute la requete en remplacant les 2 '?' par les valeurs de
    # mon choix, sans me preoccuper du format (les quotes, ", ....)
    # l'ordre des variables est identique à l'ordre des '?'
    $query->execute($liste[$i],'vide');


    # je me debrouille avec le resultat
    while (($champ1,$champ2) = $query->fetchrow) {
        print $champ1." ".$champ2."\n";
    }
}


# je nettoie pour etre plus propre
$query->finish;

# encore plus propre.... mais qu'est-ce que je suis maniaque...
$dbh->disconnect;