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 :

Travailler avec plusieurs bases [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 14
    Points : 11
    Points
    11
    Par défaut Travailler avec plusieurs bases
    bonjour
    je voudrais remplire avec les meme variables d'autre basse de donnée,
    es ce que je met les autre (host, login, password, bas) des autre basse de donnée a la suite, dans ce meme fichier, ou comment faire,
    merci

    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
    <?php
    $name = $_POST['name']; 
    $url = $_POST['url']; 
     
    $host="xxxxx";  //serveur
    $login="xxxxxxxx";    //login sql
    $password="xxxxxx";      // mot de pass sql
    $base="xxxxxxxxxx";   // nom de la base 
     
    mysql_connect($host,$login,$password)  or die(mysql_error()); 
    mysql_select_db($base);
     
    $names = "name,url";
    $values = "'$name','$url'";
     // lancement de la requette d'injection
     $req ="INSERT INTO table (".$names.") VALUES (".$values.")";
     mysql_query($req)  or die(mysql_error());
    ?>

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Points : 1 504
    Points
    1 504
    Par défaut
    Je crois que tu es obligé de faire comme ceci:
    connexion bdd1
    traitement bdd1
    fermeture connexion bdd1
    ouverture connexion bdd2
    traitement bdd2
    fermeture bdd2

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Turquie

    Informations forums :
    Inscription : Avril 2005
    Messages : 614
    Points : 502
    Points
    502
    Par défaut
    non regarde ton mysql_query peut prendre 2 parametres, la requetes et la connexion à la bdd.

    donc faut juste informer ce 2eme parametre qui est optionnel

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Points : 1 504
    Points
    1 504
    Par défaut
    exact, meme si je ne suis pas l'auteur du message, je viens d'apprendre quelque chose.

  5. #5
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    Bonjour
    merci pour vos réponces
    maximenet, je n'ai pas bien compris, je m'excuse je débute juste en php
    merci

  6. #6
    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
    Il proposait d'ouvrir les deux connexions et d'utiliser le paramètre optionnel de la fonction mysql_query qui permet d'indiquer dans notre cas laquelle des deux doit être utilisée lors de la requête :
    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
     
    <?php
    # Première connexion
    $db1 = mysql_connect('hote1', 'user1', 'pass1');
    mysql_select_db('base1', $db1);
    # Deuxième connexion
    $db2 = mysql_connect('hote2', 'user2', 'pass2', true); # Voir la FAQ pour ce true
    mysql_select_db('base2', $db2);
     
    # Première requête sur la première base
    mysql_query('INSERT INTO table1 VALUES(NULL, 1);', $db1);
    # Deuxième requête sur la deuxième base
    mysql_query('INSERT INTO table2 VALUES(NULL, 1);', $db2);
     
    mysql_close($db1);
    mysql_close($db2);
    ?>
    On peut également faire plus simple si les deux bases sont accessibles au même utilisateur en utilisant la notation base.table :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?php
    mysql_connect('hote', 'user', 'pass');
    mysql_select_db('base1');
     
    # Première requête sur la première base
    mysql_query('INSERT INTO table1 VALUES(NULL, 1);');
    # Deuxième requête sur la deuxième base
    mysql_query('INSERT INTO base2.table2 VALUES(NULL, 1);');
     
    mysql_close();
    ?>

    Julp.

  7. #7
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 494
    Points : 6 065
    Points
    6 065
    Par défaut
    Je rajouterais que à la connexion il faut rajouter un parametre pour dire que potentiellement il peut avoir plusieurs connexion d'ouvert. je ne sais pas si c'est toujours vrai avec l'extension mysqli

  8. #8
    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 berceker united
    Je rajouterais que à la connexion il faut rajouter un parametre pour dire que potentiellement il peut avoir plusieurs connexion d'ouvert.
    C'est pas ce que j'ai écrit ?
    Citation Envoyé par julp
    $db2 = mysql_connect('hote2', 'user2', 'pass2', true); # Voir la FAQ pour ce true
    la Q/R de la FAQ en question. Mais il n'est utile que lorsque les paramètres des deux connexions sont semblables sur certains points (login par exemple).


    Julp.

  9. #9
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    Bonsoir
    merci pour votre aide

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

Discussions similaires

  1. [WD14] Travailler avec plusieurs bases de données
    Par stounouslous dans le forum WinDev
    Réponses: 2
    Dernier message: 04/11/2010, 11h28
  2. Réponses: 8
    Dernier message: 20/07/2007, 09h09
  3. Réponses: 7
    Dernier message: 19/07/2007, 14h14
  4. [Archi]Oracle avec plusieurs Base de donnees
    Par nytmare dans le forum Oracle
    Réponses: 3
    Dernier message: 29/11/2006, 19h36

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