Bonjour,
j'utilise actuellement ce module pour communiquer avec ma base.
Mes sources d'info sont la doc présente sur la CPAN.
Mon objectif est simplement d'initializer une variables à l'aide de la valeur d'un attribut que j'extrais. Le problème ce que pour cette seul action, je me retrouve avec un bon paquet de ligne. J'ai essayé deux solutions (une qui marche l'autre pas)
Le code fonctionnel est le suivant :
le non fonctionnel étant le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 #!/usr/bin/env perl use DBI; my $b_RecupOccu = <<"SQL"; select occurrence from Mr_occurrence where mr = ? and url = ? SQL # fonctionne my $RecupOccu = $dbh->prepare($b_RecupOccu); $RecupOccu->execute ($mr, $url) or die "blabla\n"; # ce qui m'oblige à faire cela, et donc de passer par une var intermédiaire my $ref = $RecupOccu->fetchrow_hashref(); my $occurrence = $ref->{'occurrence'}; $RecupOccu->finish();
Ce code passe à l'interprétation, mais m'indique que $occurrence est à "unitialized", si je l'affiche par exemple.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 #!/usr/bin/env perl use DBI; my $b_RecupOccu = <<"SQL"; select occurrence from Mr_occurrence where mr = ? and url = ? SQL # indication pour recuperer directement le resultat ... n'a aucun effet my $RecupOccu = $dbh->prepare($b_RecupOccu, {"mysql_use_result" => 1}); $RecupOccu->execute ($mr, $url) or die "blabla\n"; # grâce au changement de la valeur pour mysql_use_result, j'aurais du pouvoir extraire la valeur ainsi, my $occurrence = $RecupOccu->{'occurrence'}; # au lieu de ça j'écope d'un undef.. $RecupOccu->finish();
J'ai trouvé ces infos dans la section Statement handles de la doc CPAN
http://search.cpan.org/dist/DBD-mysql/lib/DBD/mysql.pm
Si quelqu'un pouvait donc m'éclairer. Merci
Partager