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 :

Créer deux connexions simultannées avec PHP


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2015
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2015
    Messages : 120
    Points : 66
    Points
    66
    Par défaut Créer deux connexions simultannées avec PHP
    Bonsoir,

    Comment peut-on avoir l'enregistrement et la lecture sur deux bases
    donc on doit faire l'update, et l'insert sur deux IP
    cad deux connexions de tout le projet et de chaque menu

    Pour la lecture, on se connecte sur le premier serveur 1 si ok, donc ok, si prb avec server 1, on se connecte sur server 2
    pour que toujours on aura accès à la base de données et on aura backup de la base sur les deux serveurs.

    Est ce que je dois créer deux connexions avec test if ou bien je dois modifier dans toutes les requêtes du projet pour l'écriture.

    voilà mon fichier de connexion db.inc.php

    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
    <?php
     
    $host	=	'ip';
    $base	=	'nom base';
    $users	=	'user';
    $passw	=	'pass';
     
    //j'ajoute une 2eme cnx et je teste apres ou bien je crée un nouveau fichier db2.inc.php??
     
    try
    {
    	$connexion = new PDO("mysql:host=$host;dbname=$base", $users, $passw);
    	$connexion->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    }
    catch(PDOException $e)
    {
    	die('Erreur : '.$e->getMessage());
    }
    ?>

  2. #2
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2015
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2015
    Messages : 120
    Points : 66
    Points
    66
    Par défaut re
    Bonjour,

    j'ai résolu ce qui concerne l'écriture dans les deux bases (insert, update, delete).
    Mais il me reste la lecture qui doit être d'un seul serveur avec un test si serveur1 ok alors select de la base 1 sinon select de la base 2.
    Il est claire que le test sera dans la page de connexion db.inc.php.

    si cnx1 OK
    connexion=connexion1
    sinon
    connexion=connexion2


    Cordialement.

  3. #3
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu ne sais pas écrire un if / else ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  4. #4
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2015
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2015
    Messages : 120
    Points : 66
    Points
    66
    Par défaut re
    Non, c'est pas à ce point mais les conditions pour tester si le serveur est connecté ou non j'en sais pas comment faire

  5. #5
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    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
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    <?php
     
    $host	=	'ip';
    $base	=	'nom base';
    $users	=	'user';
    $passw	=	'pass';
     
    $host2	=	'ip';
    $base	2=	'nom base';
    $users2	=	'user';
    $passw2	=	'pass';
     
    //j'ajoute une 2eme cnx et je teste apres ou bien je crée un nouveau fichier db2.inc.php??
     
    try
    {
    	$connexion = new PDO("mysql:host=$host;dbname=$base", $users, $passw);
            if (!$connexion){
              $connexion = new PDO("mysql:host=$host2;dbname=$base2", $users2, $passw2);
    }
    	$connexion->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    }
    catch(PDOException $e)
    {
    	exit('Erreur : '.$e->getMessage());
    }
    ?>

  6. #6
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2015
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2015
    Messages : 120
    Points : 66
    Points
    66
    Par défaut re
    Bonsoir,
    merci pour votre coup de main, j'ai trouvé la solution et j'ai compris ce qui va passer si echec de connexion au serveur1 alors la lecture et l'écriture dans les deux bases sera à partir de la connexion au serveur2.

    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
     
    try
    {
    	$connexion = new PDO("mysql:host=$host;dbname=$base", $users, $passw);
    	if (!$connexion){
     
    		$connexion = new PDO("mysql:host=$host1;dbname=$base1", $users1, $passw1);
    	}
     
    	$connexion->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
     
    	$connexion1 = new PDO("mysql:host=$host1;dbname=$base1", $users1, $passw1);
    	$connexion1->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    }
    catch(PDOException $e)
    {
    	die('Erreur : '.$e->getMessage());
    }

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

Discussions similaires

  1. [FPDF] Créer un fichier pdf avec PHP
    Par picoloto dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 24/09/2008, 22h05
  2. Gestion de deux menu déroulant avec php/Mysql
    Par dragon2 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 21/01/2008, 19h00
  3. Connexion à Firebird avec PHP
    Par genova dans le forum Connexion aux bases de données
    Réponses: 7
    Dernier message: 12/09/2006, 17h48
  4. créer deux serveur web avec un seul adresse ip?
    Par Djo00 dans le forum Apache
    Réponses: 3
    Dernier message: 23/08/2006, 09h13
  5. [LDAP] problème connexion anonyme avec php à Active Directory
    Par anto48_4 dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 02/03/2006, 16h50

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