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 :

Quelle méthode de connexion utiliser ? [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    124
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 124
    Par défaut Quelle méthode de connexion utiliser ?
    Bonjour,

    J'ai suivi ces derniers un tuto sur le langage SQL. J'ai trouvé ça relativement simple (enfin y a pire), et aujourd'hui je me suis remis dans mes cours, qui concernes aussi le language SQL. Cependant il y a une différence assez flagrante entre les 2 méthodes. L'une me parait plus simple que l'autre. Mais je me demande quel est la bonne.

    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
     
    <?php
    try
    {
    	$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '');
    }
    catch(Exception $e)
    {
            die('Erreur : '.$e->getMessage());
    }
     
    $req = $bdd->prepare('SELECT nom, prix FROM jeux_video WHERE possesseur = ? AND prix <= ? ORDER BY prix');
    $req->execute(array($_GET['possesseur'], $_GET['prix_max']));
     
    echo '<ul>';
    while ($donnees = $req->fetch())
    {
    	echo '<li>' . $donnees['nom'] . ' (' . $donnees['prix'] . ' EUR)</li>';
    }
    echo '</ul>';
     
    $req->closeCursor();
    Et la méthode de mes cours:

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
     $server_name = "localhost";
        $login = "root";
        $mdp = "root";
        $base = "test";
        $table = "livre";
     
        $serveur = mysql_connect($server_name, $login, $mdp); 
     
        if ($serveur) {
            echo "Connexion au serveur réussie<br>";
        } else {
            echo "Echec de connexion au serveur pour la raison suivante : ".mysql_error()."<br>";
        }
     
        if (mysql_select_db($base, $serveur)) {
     
            echo "Connexion à la base $base réussie<br>";
        } else {
            echo "Echec de connexion à la base pour la raison suivante : ".mysql_error()."<br>";
        }
     
     
        $sql[1] = "INSERT INTO $table ( id_livre, titre, auteur, editeur, date, prix ) 
                    VALUES ('', 'PHP4', 'Dreyfus Michel', 'CampusPress', '20021201', 10);";
        $sql[2] = "INSERT INTO $table ( id_livre, titre, auteur, editeur, date, prix ) 
                    VALUES ('', 'Pratique de Mysql et PHP', 'Rigaux Philippe', 'O Reilly', '20010414', 30);";
        $sql[3] = "INSERT INTO $table ( id_livre, titre, auteur, editeur, date, prix ) 
                    VALUES ('', 'HTML JAVA CGI VRML SGML', 'Stranck William', 'S&SM', '19961015', 45);";
     
     
        for ($i=1; $i<=3; $i++) {
            $requete = mysql_query($sql[$i]);
             if ($requete) {
                 echo "La requête d'insertion n°$i dans la table $table est un succès<br>";
             } else {
                 echo "La requête d'insertion n°$i dans la table $table est un échec pour la raison suivante :
                 ".mysql_error()."<br>";
             }
        }

    Les 2 ne veulent pas dire la même chose, mais c'est juste la manière de l'écrire qu'il faut regarder.

    En vous remerciant d'avance.

  2. #2
    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 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loiret (Centre)

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

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 059
    Par défaut
    Bonjour,

    Les différences entre les 2 écritures n'ont rien à voir avec le SQL, mais avec le PHP. Il s'agit de 2 approches différentes dans le code PHP, et pas dans le code des requêtes SQL.
    C'est donc plutôt une question à poser dans un forum PHP.

    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

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 97
    Par défaut
    la methode me parait quand meme plus compliquée apres c'est une question d'habitude,j'ai utilisé ce site pour apprendre le php parceque mes cours n'etaient pas assez clair justement donc y a du bon des deux cotés.

    ensuite le cas du if pour la connexion a la BDD j'aime pas je prefere mettre un "or die ("...");" ===> c'est pas bieeen :p

    donc bon quelque soit la methode que tu prend elles sont bonnes

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    124
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 124
    Par défaut Bonjour
    Tout d'abord merci pour vos réponses.

    Je vais essayer de creuser ça plus en détails, mais si vous me dites que les 2 sont bonnes, je pense que je prendre la plus simple pour moi. Je me posais la question juste parce que les cours PHP du site, et je ne savais pas si les codes utilisés était toujours d'actualité.

    En tout cas je vous remercie

  5. #5
    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
    On utilise 3 méthodes pour exploiter une base mysql en PHP :
    l'extension mysql (la plus ancienne et la plus répandue)
    l'extension mysqli (la plus performante)
    PDO (la plus récente et qui sera mise en avant avec PHP6)
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    124
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 124
    Par défaut Bonjour
    Donc au final, la 1ere méthode a savoir:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $bdd= new PDO ('mysql:host=localhost;dbname=test', 'root', '');
    Sera la plus courante dans le future. Même s'il est toutjours mieux de connaitre toutes les différentes utilisations, penses-tu que je peux me concentrer sur la première méthode?

    Même si comme dit plus haut, je pense quand même qu'il faut connaitre les méthodes que tu cites, car on ne sais jamais ce qu'on peut rencontrer.

    En te remerciant.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 02/05/2006, 12h08
  2. Quelles méthodes utiliser ?
    Par Ekinoks dans le forum OpenGL
    Réponses: 2
    Dernier message: 29/09/2005, 14h45
  3. [persistance]Quelle méthode utiliser ?
    Par le Daoud dans le forum Persistance des données
    Réponses: 9
    Dernier message: 15/11/2004, 09h29
  4. code récurrent, quelle méthode utiliser ?
    Par khayyam90 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 10/10/2004, 15h03

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