Bonjour à tous,

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
	my $sql ="INSERT INTO $Table VALUES ('', '$genus', '$species', '$subspecies', '$other', '$dna_type', '$other_storage', '$concentration', '$type', '$internal_ref', '$external_ref', '$accession', '$origin', '$date', '$notation', '$place', '$freezer', '$drawer', '$box', '$date_gly', '$notation_gly', '$place_gly', '$freezer_gly', '$drawer_gly', '$box_gly', '$manager', '$tests', '$sequences', '$documents', '$note');";
	my $sth =$DBconnect->prepare($sql) or print "prepare error\n";
        $sth->execute or die "Could not execute SQL2 statement ... maybe invalid?";
        $sth->finish;
J’insère des données en DB à l'intérieur d'une boucle (module DBI). Je voudrais dans un premier temps, vérifier la validité de toutes mes requêtes SQL afin de n'effectuer l'insertion en DB que si elles sont toutes valides.

Comment vérifier la validité de my $sth =$DBconnect->prepare($sql) et de $sth->execute sans les effectuer si elles sont correctes.

style

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
my $sth;
 
unless ($sth = $DBconnect->prepare($sql)){
    $ok = 0;
}
unless ($sth->execute){
    $ok = 0;
}
... mais sans effectuer l'insertion en DB


Merci,