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 :

connexion mysql


Sujet :

SGBD Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Octobre 2004
    Messages
    345
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 345
    Par défaut connexion mysql
    Salut tout le monde;
    j'ai une base de donnée mysql et je voudrais m'y connecter via un script perl voici le code:
    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
     
     
    #!C:/perl/bin/perl.exe -w
    use strict;
    use DBI;
     
      my $db = DBI -> connect ("dbi:Mysql:dbname=GTech","root","******") or die "connection impossible!";
     
      $db->do("insert into client values ('1', 'Facop');")|| die "pb de requete : $DBI::errstr";
     
      my $requete="select id_cli,intitule from client;";
     
      my  $version = $dbp->prepare($requete);
     
      $version-> execute() || die "pb de selection : $DBI::errstr";
     
      while (my  ($id_cli, $intitule) = $version -> fetchrow_array)
        {
         print "result: $id_cli du jour $intitule\n";
        }
     
      $version-> finish();
      $db->disconnect();
    lors de l'execution il me sort le message suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    Can't locate DBI.pm in @INC (@INC contains: C:\www\Apache2\cgi-bin\ C:/perl/lib C:/perl/site/lib .) at C:\www\Apache2\cgi-bin\base.pl line 3.
    BEGIN failed--compilation aborted at C:\www\Apache2\cgi-bin\base.pl line 3.
    note : je voudrais crée un formulaire via html et qui se connecte a mysql via un cgi est ce possible sinon quel chemin dois je prendre.
    Merci.

  2. #2
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    bah t'as pas dû installer le module DBI

  3. #3
    Membre éclairé
    Inscrit en
    Octobre 2004
    Messages
    345
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 345
    Par défaut
    Bonjour tout le monde,
    vous avez raison ,j'ai telecharger dbi-1.48 mais ou dois je l'installer dans le dossier perl pour qu'il soit pris en charge.
    Merci.

  4. #4
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    bon efface le module téléchargé et je te conseil de lire la FAq, j'ai redigé une doc sur l'installation des modules Perl, c'est tres simple. Regarde dans ma signature, il y a un lie vers la faq.
    Courage,
    djibril

  5. #5
    Membre éclairé
    Inscrit en
    Octobre 2004
    Messages
    345
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 345
    Par défaut
    Resalut,
    j'ai perdu la notion FAQ merci de me l'avoir signaler.c'ok mais je recois le message suivant et je pense que ca vient du code que j'ai ecrit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Can't connect to data source Mysql::DBNAME=GTech, no database driver specified and DBI_DSN env var not set at C:\www\Apache2\cgi-bin\base.pl line 6
    Mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     my $db = DBI -> connect ("dbi::Mysql:gtech","root","******") or die "connection impossible!";
    Merci.

  6. #6
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    j'ai spécifié dans la faq que pour toute connection à une BDD, il faut installer le module DBI et son driver donc notamment DBD-Mysql en ce qui te concerne, et d'apres ton message, t'as pas dû l'installer
    Allez au boulot

  7. #7
    Membre éclairé
    Inscrit en
    Octobre 2004
    Messages
    345
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 345
    Par défaut
    resalut,
    je l'ai installer tout les de la meme façon .via le (cmd) et j'ai recu le message avec succes.
    Merci.

  8. #8
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    Ton code fonctionne alors??? Si oui, c'est parfait et je suis content pour toi. Dans ce cas, oublie pas de mettre un tag resolu!!
    Merci

  9. #9
    Membre éclairé
    Inscrit en
    Octobre 2004
    Messages
    345
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 345
    Par défaut
    Mais non je recois tjrs le meme message

  10. #10
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    Citation Envoyé par nah_wah
    Resalut,
    j'ai perdu la notion FAQ merci de me l'avoir signaler.c'ok mais je recois le message suivant et je pense que ca vient du code que j'ai ecrit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Can't connect to data source Mysql::DBNAME=GTech, no database driver specified and DBI_DSN env var not set at C:\www\Apache2\cgi-bin\base.pl line 6
    Mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     my $db = DBI -> connect ("dbi::Mysql:GTech","root","******") or die "connection impossible!";
    Merci.
    essaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     my $db = DBI -> connect ("dbi:mysql:dbname=GTech;host=localhost;","root","******") or die "connection impossible!";

  11. #11
    Membre éclairé
    Inscrit en
    Octobre 2004
    Messages
    345
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 345
    Par défaut
    eh ben voila c'ok.
    quand veut on peut ca marche .
    Merci pour ton aide je voudrais creé un cgi pour remplir ma base pouvez vous m'aider svp.

  12. #12
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    Citation Envoyé par nah_wah
    eh ben voila c'ok.
    quand veut on peut ca marche .
    Merci pour ton aide je voudrais creé un cgi pour remplir ma base pouvez vous m'aider svp.
    et bah voilà
    un tag resolu s'il te plait!!!
    Sinon pour faire un cgi, bah idem, installe le module cgi (confere Faq), lis la doc (Faq )
    Fais des tests et on t'aidera en cas de souci, au boulot!!!!!!

  13. #13
    Membre éclairé
    Inscrit en
    Octobre 2004
    Messages
    345
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 345
    Par défaut
    je n'ai pas mis de tag (resolu) pour la simple raison que j'ai une suite pour la meme question.
    pour le module cgi ca marche tres bien ,je voudrais combiner le dbi avec le cgi . je mexplique pour inserer les enregistrements via un formulaire cgi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    use strict;
    use DBI;
    use CGI;
    my($cgi) = new CGI;
    print "Content-type: text/html\n\n";
     
      #Connection à la base de données mysql GTech
      my $db = DBI -> connect (("dbi:mysql:dbname=gtech;host=localhost;","root","******")) or die "connection impossible!";
     
      #insertion d'une donnée je veux recuperer les données puis les inserer
      my($code) = $cgi->param("code");
      my($client) = $cgi->param("client");
     
      $db->do("insert into client values ($code, $client);")|| die "pb de requete : $DBI::errstr";
    Ecriture exacte ou non
    Merci

  14. #14
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    ok pour le tag resolu. En ce qui concerne ton script CGI;
    Le seul moyen de savoir si c'est ok, c'est de tester. T'as acces à ta base de données, donc même en inserant des conneries, tu peux les supprimmer par la suite.
    Donc essaye, teste ton script et dis nous si t'as un souci, des messages d'erreurs (qui seront dans ton fichier log).
    Voilà!!!
    NB: il a l'air plutot correct ton script.

  15. #15
    Membre éclairé
    Inscrit en
    Octobre 2004
    Messages
    345
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 345
    Par défaut
    j'ai trouvé la solution il fallait faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $db->do("insert into client values ('$code', '$client');")|| die "pb de requete : $DBI::errstr";
    Merci.

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

Discussions similaires

  1. [JSP] erreur lors d'une connexion à mySQL
    Par Jovial dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 31/08/2004, 16h48
  2. Erreur connexion mysql
    Par bodbod dans le forum Bases de données
    Réponses: 3
    Dernier message: 10/07/2004, 09h28
  3. Connexion mysql
    Par olive.m dans le forum SQL Procédural
    Réponses: 8
    Dernier message: 18/06/2004, 17h44
  4. [Connexion MySQL] Can't connect to MySQL server
    Par mat_dum dans le forum Outils
    Réponses: 12
    Dernier message: 17/07/2003, 07h49
  5. [Kylix] [cgi] pb déploiement appli avec connexion MySQL [rés
    Par Nepomiachty Olivier dans le forum EDI
    Réponses: 3
    Dernier message: 06/08/2002, 20h09

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