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 :

Ma 1ere Connexion. [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Urbaniste
    Inscrit en
    Novembre 2014
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Novembre 2014
    Messages : 26
    Par défaut Ma 1ere Connexion.
    Bonjour, je viens de réaliser ma 1ere connexion MySQL : CHAMPAGNE....

    J'ai Créé un fichier config.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $bdd_host = 'xxx';
    $bdd_port = '3306';
    $bdd_login = 'xxx';
    $bdd_name = 'xxx';
    $bdd_pass = 'xxx';
    $bdd_option = array(
        PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8",
        PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, // les erreurs lanceront des exceptions
    	PDO::ATTR_CASE => PDO::CASE_LOWER// les noms de champs seront en caractères minuscules
      );
    Puis je lance ma connexion depuis la page index... (je débute lol).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    try
    {
    	require_once($_SERVER['DOCUMENT_ROOT'].'/connect/config.php');
        // On se connecte à MySQL
    	$bdd = new PDO('mysql:host='.$bdd_host.';port='.$bdd_port.';dbname='.$bdd_login, $bdd_name, $bdd_pass, $bdd_option);
    }
    catch(Exception $e)
    {
        // En cas d'erreur, on affiche un message et on arrête tout
            die('Erreur : '.$e->getMessage());
    }
    Mes questions sont :

    - Si je veux séparer la fonction d'appel à la connexion de ma page index, je dois créer un fichier style connexion.php puis l’appeler depuis mon Index.php (racine) c'est bien cela ???
    - Faut-il mieux créer une fonction ou une classe ??? PDO est déjà un objet, une classe ??? (c'est pas très claire je mélange un peu les choses en débutant).
    - J'ai créé un fichier config.php qui contient les variables. Est ce utile ou recommandé ? Ce fichier pourra me servir pour stoker d'autres choses ou il doit rester spécifique aux info de connexion ?

    Vous avez compris que je débute et que je me pose beaucoup de questions car je n'ai pas une vision globale ni aucune expérience...

    J'ai lu plusieurs tuto et donc j'ai vu que certains intègres le paramètre "Port" dans l'objet PDO de connexion. Faut il mieux le préciser ou pas ?

    Merci a tous

  2. #2
    Membre chevronné
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Septembre 2012
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Septembre 2012
    Messages : 416
    Par défaut
    Citation Envoyé par steve348 Voir le message
    - Si je veux séparer la fonction d'appel à la connexion de ma page index, je dois créer un fichier style connexion.php puis l’appeler depuis mon Index.php (racine) c'est bien cela ???
    Tout à fait.

    Citation Envoyé par steve348 Voir le message
    - Faut-il mieux créer une fonction ou une classe ??? PDO est déjà un objet, une classe ??? (c'est pas très claire je mélange un peu les choses en débutant).
    PDO est une classe.
    Un objet est un exemplaire d'un classe.
    Exemple : $db = new PDO(...) Dans ce cas là, $db est un exemplaire de la classe PDO (en quelque sorte).
    Après, créer une fonction ou une classe, ma préférence ira vers une classe qui pourra éventuellement hériter de PDO (ou l'utiliser via une injection de dépendance.. oula je vais un peu loin^^) .

    Citation Envoyé par steve348 Voir le message
    - J'ai créé un fichier config.php qui contient les variables. Est ce utile ou recommandé ? Ce fichier pourra me servir pour stoker d'autres choses ou il doit rester spécifique aux info de connexion ?
    Tu peux y rassembler toutes les variables/méthodes de configuration de ton application.

    Citation Envoyé par steve348 Voir le message
    Vous avez compris que je débute et que je me pose beaucoup de questions car je n'ai pas une vision globale ni aucune expérience...
    Je pense que nous sommes tous passés par là, bienvenue dans le monde cruel du web et de php

    Citation Envoyé par steve348 Voir le message
    J'ai lu plusieurs tuto et donc j'ai vu que certains intègres le paramètre "Port" dans l'objet PDO de connexion. Faut il mieux le préciser ou pas ?
    Si le port n'est pas celui par défaut, c'est plus que recommandé

  3. #3
    Membre averti
    Homme Profil pro
    Urbaniste
    Inscrit en
    Novembre 2014
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Novembre 2014
    Messages : 26
    Par défaut
    Pour faire appel à une class connexion, il suffit de faire cela :

    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
    class connexion {
     
    try
    {
    	require_once($_SERVER['DOCUMENT_ROOT'].'/admin/config.php');
        // On se connecte à MySQL
        $bdd = new PDO($bdd_dns, $bdd_name, $bdd_pass, $bdd_option);
    }
    catch(Exception $e)
    {
        // En cas d'erreur, on affiche un message et on arrête tout
            die('Erreur : '.$e->getMessage());
    }
    // Si tout va bien, on peut continuer
    // On récupère tout le contenu de la table jeux_video
    $reponse = $bdd->query('SELECT * FROM tab_ndd_name');
    // On affiche chaque entrée une à une
    while ($donnees = $reponse->fetch())
    }
    Ou cela n'a rien à voir...

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 60
    Par défaut
    Salut,
    Je te souhaite de faire un tour au niveau des cours php Orienté objet pour faire la difference entre fonctions, classes et methodes.

    Pour faire simple une classe est juste une definition d'un objet, par exemple une voiture.
    La classe voiture sera constitué de variables qui représenterons les elements de la voiture (variables $roues, $volant, $moteur)
    Ce qui donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    class Voiture{
       private $roues;
       private $volant;
       private $moteur;
    }
    Pour que ta voiture puisse fonctionner tu dois lui donner des methodes, ce sont les "fonctions" de la classes qui determinerons son comportement. par exemple tourner a droite ou a gauche, demarrer,accelerer,freiner etc. Ces methodes agirons sur tes variables et eventuellement retourner une valeur que tu pourras utiliser dans ton script

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    class Voiture{
       private $roues;
       private $volant;
       private $moteur; 
       public function demarrer(){
         $this->moteur->start();
       }
       public function tournerGauche(){
        $this->volant->setDirection("gauche");
       }
    }
    Une fois ta classe créée, tu pourras l'appeler dans ton script de cette maniere
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $v = new Voiture();
    $v->demarrer();
    $v->tournerGauche();
    Je t'invite a suivre les cours pour plus de details.

    Concernant la connexion Bdd, il serait donc bon pour toi de faire une nouvelle classe qui gerera l'etat de ta connexion Bdd, Ca te permettra de centraliser toutes tes actions Bdd dans un seul fichier et si tu suit le Design Pattern Singleton (Ca aussi c'est tout un cours), cela te permettras d'eviter d'ouvrir une nouvelle connexion a chaque fois que tu auras besoin d'utiliser ta Bdd.

    Bon courage

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 22/06/2011, 12h06
  2. Connaitre la 1ere connexion de la semaine
    Par SanNash dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 04/01/2007, 16h43
  3. Réponses: 4
    Dernier message: 04/07/2002, 12h31
  4. Connexion ODBC
    Par Anonymous dans le forum Réseau
    Réponses: 2
    Dernier message: 23/04/2002, 12h10
  5. Je ne peux établir une connexion cliente sous Linux.
    Par Anonymous dans le forum CORBA
    Réponses: 5
    Dernier message: 16/04/2002, 15h57

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