IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SGBD Perl Discussion :

Problème avec DBI


Sujet :

SGBD Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 210
    Par défaut Problème avec DBI
    Lut, je cherche comment récupérer le code d'erreur de DBI , j'ai fait un script qui doit vérifier si une donnée existe ou pas dans Sql server voici mon sous prog
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    sub exist {
       my $url = shift;
       my $sth = $dbh->prepare(' SELECT * FROM sites WHERE site_url="$url" ');
          $sth->execute;
     
    # Récupération du code d'erreur pour savoir si oui ou non le site existe dans la db
     
     
          $dbh->disconnect; 
    }
    merci de votre aide

  2. #2
    Membre émérite
    Avatar de shwin
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2003
    Messages : 568
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    sub exist { 
     
       my $url = shift; 
       my $find;
       my $sth = $dbh->prepare(' SELECT count(site_url) FROM sites WHERE site_url="$url" '); 
          $sth->execute; 
       $sth->bind_columns(\$find);
      $sth->fetch();
      $sth->finish();
     
    #0 = introuvable, 1 = trouvé
      return $find 
    }

  3. #3
    Invité
    Invité(e)
    Par défaut
    La propriété en question est errstr

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $DBI::errstr
    $dbh->errstr;
    $sth->errstr;
    etc...
    Plus simplement tu fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sth->execute or die "Erreur $sth->errstr";

  4. #4
    Membre émérite
    Avatar de shwin
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2003
    Messages : 568
    Par défaut
    Je te conseil de mettre les valeur de ta requete dans ton execute

    CAD
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    my $sth = $dbh->prepare(' SELECT * FROM sites WHERE site_url=?'); 
          $sth->execute($url);
    De cette facon, tu évite le SQLInjection

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 210
    Par défaut
    Merci pour vitre aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec DBI
    Par scaleo dans le forum Modules
    Réponses: 4
    Dernier message: 16/04/2007, 18h09
  2. Problème avec DBI sur une bd access
    Par tfdarklink dans le forum SGBD
    Réponses: 2
    Dernier message: 01/08/2006, 19h08
  3. problème avec le module DBI
    Par vbcasimir dans le forum SGBD
    Réponses: 6
    Dernier message: 08/10/2005, 12h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo