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 :

Requête SELECT multi-serveurs [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 131
    Par défaut Requête SELECT multi-serveurs
    Bonjour,
    Je dois effectuer une requête sur 2 bases situées sur 2 serveurs différents.
    J'ai donc pratiqué ainsi
    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
    // Valeurs données à titre d"'exemple
        $MDB_SV1="server1";    $MDB_US1="user1";    $MDB_PS1="pwd1";    $MDB_BN1="mdb1";
        $MDB_SV2="server2";    $MDB_US2="user2";    $MDB_PS2="pwd1";    $MDB_BN2="mdb2";
        $t1="table1";
        $t2="table2";
        $fields2="fields2";
        $value="myValue";
    
        $id1=mysql_connect($MDB_SV1,$MDB_US1,$MDB_PS1);
        $id2=mysql_connect($MDB_SV2,$MDB_US2,$MDB_PS2);
    
    echo "select 1:".        mySql_select_db($MDB_BN1,$id1);
    echo "select 2:".        mySql_select_db($MDB_BN2,$id2);
    
        $sql="SELECT *
                FROM `$MDB_BN2`.`$t2` t2, `$MDB_BN1`.`$t1` t1
                WHERE t2.$fields2='$value';";
        $result= mysql_query($sql);   
    echo "result:".$result."< = > error_sql (".mysql_errno() ."): ".mysql_error();
    soit le résultat
    select 1:1
    select 2:1
    result:< = > error_sql (1142): SELECT command denied to user '$MDB_BN2'@'10.0.63.00' for table '$t1'
    J'ai tenté de donner des droits via une clause GRANT.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql="GRANT SELECT ON `$MDB_BN1`.`$t1` TO '$MDB_BN2'@'10.0.63.00';";
    (probablement mal écrite) car sans succès.


    D'où mes questions :
    - comment résoudre cette erreur,-
    - la configuration du serveur (mutu) peut-il être en cause, ou au pire
    - comment pratiquer en compulsant 2 requêtes consécutives ?

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Les droits sont données à un utilisateur donc :
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 131
    Par défaut
    Je viens d'avoir un début de réponse chez mon hébergeur :
    GRANT ne passe pas sur les mutus.

    Il va donc falloir que je passe par 2 requêtes consécutives sur chacune des base.

    Mais je suis toujours preneur d'une solution.

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Mais je suis toujours preneur d'une solution.
    C'est simple, il va donc falloir que tu passes par 2 requêtes consécutives sur chacune des bases.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 131
    Par défaut
    lol ... merci

    C'est ce que je suis en train de faire mais d'une manière qui ne me plait pas pour le principe
    même si la requête 1 ne retourne qu'un jeu très réduit de valeurs.
    boucle pour chaque jeu de résultat de la requête 1
    exécuter requête 2
    N'y a-t-il pas moyen de passer par une table temporaire afin d'éviter la boucle en php ?
    ..et si oui, comment ? (je préfère préciser cette fois ci )

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

Discussions similaires

  1. Requête 3 tables - group by - select multi critères
    Par julienleg dans le forum Requêtes
    Réponses: 3
    Dernier message: 16/06/2010, 11h04
  2. [MySQL] Ressources serveur avec requête SELECT et preg_match_all
    Par ascito dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 28/11/2009, 10h28
  3. Requête multi-bases multi-serveurs ?
    Par Lino Léum dans le forum Développement
    Réponses: 4
    Dernier message: 19/06/2009, 08h05
  4. Requête Select Top et Order by multi-critères en même temps.
    Par Courgette17 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 03/03/2008, 10h51
  5. Requête select multi-instances
    Par Benzeghiba dans le forum Oracle
    Réponses: 1
    Dernier message: 20/02/2007, 14h45

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