Bonjour à tous,
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.
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;
Comment vérifier la validité de my $sth =$DBconnect->prepare($sql) et de $sth->execute sans les effectuer si elles sont correctes.
style
... mais sans effectuer l'insertion en DB
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; }
Merci,
Partager