Bonjour tout le monde,

Je suis en train de faire un script PERL pour me connecter a une base MySQL.
Via une page CGI, je fais une interface de recherche sur cette base.
cependant, quand j'entre dans la page CGi des criteres qui ne doivent donner aucun resultat, le script plante.

J'ai reussi a localiser l'endroit ou ca plante :
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
sub search_db {
  my($has_skeys) = @_;
 
  # ----- the returned array
  my($arr_articles,$sca_article_ind);
  $sca_article_ind = 0;
  # ----- connect
  my ($db,$host,$id,$pw,$dsn,$dbh) = connect_db();
  foreach my $parameter (keys %$has_skeys) {
    my $request = qq{SELECT * FROM tab_news WHERE $parameter = $$has_skeys{$parameter}};
    my $sth_select = $dbh->prepare($request);
 
# ----- ca vient de planter a la ligne superieure
 
    my $arr_select = $dbh->selectall_arrayref($sth_select);
    print "yo\n<BR>$arr_select";
    # ----- read the datas
    foreach my $arr_record (@$arr_select) {
      my $arr_artdatas;
      foreach my $argument (@$arr_record) {
	 print " et $argument,\n";
	 push @$arr_artdatas, $argument;
      }
      # ----- store inside array full of hashes
      $$arr_articles[$sca_article_ind] = {
					  database_reference => $$arr_artdatas[0],
					  absolute_reference => $$arr_artdatas[1],
					  data_entry_date => $$arr_artdatas[2],
					  article_date => $$arr_artdatas[3],
					  article_title => $$arr_artdatas[4],
					  article_url => $$arr_artdatas[5],
					  article_content => $$arr_artdatas[6],
					  categories1 => $$arr_artdatas[7],
					  categories2 => $$arr_artdatas[8]
					 };
      $sca_article_ind ++;
    }
  }
  return($arr_articles);
}
Voila,

Pour contourner cette erreur, j'ai deja essaye de mettre un test avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part
defined $dbh->prepare($request)
Mais ca plante toujours autant.

Avez vous des idees ?
Ciao, merci et bon courage !