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

PHP & Base de données Discussion :

travail sur 2 bases de données [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 31
    Points : 24
    Points
    24
    Par défaut travail sur 2 bases de données
    Bonjour,

    Travaillant sous php, je souhaite me connecter à 2 bases pour copier des infos de l'une vers l'autre.

    Avant je travaillait :
    $result = mysql_query("SELECT * FROM Table1 ", $Connection)
    du code, puis :
    mysql_query("INSERT INTO Table2 (ID,Nom) VALUES ('$ID','$Nom')",$Connection2)

    avec biensur auparavent mes 2 connexions mysql_connect..

    Mais ca ne fonctionne plus... suis je obligé d'ouvrir fermer une connexion a chaque requete?

    Merci d'avance.

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Citation Envoyé par jani
    Mais ca ne fonctionne plus... suis je obligé d'ouvrir fermer une connexion a chaque requete?
    Normallement, non. Qu'est-ce qui vous laisse penser cela ?

    Info : Vous pouvez également n'ouvrir qu'une seule connection et utiliser la notation base_de_données.table dans vos requêtes.


    Julp.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 31
    Points : 24
    Points
    24
    Par défaut
    merci pour votre réponse rapide.

    L'utilisation de 2 variable de connexion me génère un warning :
    Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource

    Quest ce qu'un mysql-link ?

    La requete est correcte ...

    Vous pensez que $result = mysql_query("SELECT * FROM Table1 ", $Connection) fonctionne?

    merci

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Citation Envoyé par jani
    Quest ce qu'un mysql-link ?
    Le résultat de mysql_connect lorsque tout se passe bien, pour faire simple.

    Citation Envoyé par jani
    L'utilisation de 2 variable de connexion me génère un warning :
    Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource
    Par conséquent, l'une voire les deux connections ne sont pas valides. Avez-vous d'autres messages ? Utilisez-vous une arobase devant l'appel des fonctions concernées ? Recommandation : utilisez or die(mysql_error()); après chaque appel à une des fonctions mysql.


    Julp.

  5. #5
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 031
    Points : 23 763
    Points
    23 763
    Par défaut
    Bonjour,

    Je viens de rencontrer le même problème, exactement. Voici ce qui se passe dans mon cas. Je crée une première connexion et une seconde sur le même serveur avec 2 bases différentes, comme décrit dans la FAQ.
    Dans mon script, je sélectionne plusieurs lignes sur une table de la première table et, lors du parcours de mon result, j'essaie de réinsérer les lignes dans la seconde base? Et là, pan : le même message d'erreur. Je pense que c'est dû au fait qu'une requête est en cours de traitement sur la première base et que j'en balance une autre sur la seconde base. Bref, la connexion multiple marche en séquentielle, mais pas en imbriqué (je suis clair, là ?). Exemple :
    Début requête base 1 -> fin requête base 1 -> Début requête base 2 -> fin requête base 2 => OK
    Début requête base 1 -> Début requête base 2 -> fin requête base 2 -> fin requête base 1 => KO

    La solution, pour m'en sortir a été de prendre la notation de Julp : la notation base_de_données.table.

    Si ça peut aider...

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

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

Discussions similaires

  1. Organisation du travail en équipe sur les bases de données avec git
    Par Denis Dee Jay dans le forum Général Conception Web
    Réponses: 2
    Dernier message: 05/06/2014, 13h33
  2. [AC-2003] Accéder et travailler sur une base de données POSTGRESQL
    Par flet le kid dans le forum Modélisation
    Réponses: 3
    Dernier message: 01/05/2009, 19h34
  3. Réponses: 10
    Dernier message: 25/11/2007, 10h30
  4. [WD55] Travailler sur la base de donnés windev
    Par developper2006 dans le forum WinDev
    Réponses: 1
    Dernier message: 22/02/2007, 13h10
  5. Travailler sur une base de donnée
    Par nolan76 dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 31/01/2006, 17h51

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