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 :

mysql ou mysqli


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
    Inscrit en
    Juin 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2013
    Messages : 22
    Par défaut mysql ou mysqli
    Salut,

    J'utilise ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $base = mysql_connect ('localhost', 'root', ''); 
    mysql_select_db ('db_portail', $base);
    Sur une de mes pages, je n'ai aucun problème.
    Mais, sur une autre, j'ai le message d'erreur suivant :

    Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in Z:\Sebastien\portail_aq_rate\password.php on line 10
    mail inconnu.
    Je ne comprends pas bien ce qu'est le mysqli.
    Dois-je l'utiliser partout? Pourquoi il plante sur une de mes pages mais pas toutes ?

    D'avance merci, pour vos infos

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 631
    Par défaut
    Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future:
    bonjour,
    l'extension mysql est obsolète depuis php5.5 et sera supprimée dans le futur. A la place de mysql, utilises plutôt l'extension mysqli ou pdo_mysql:

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $base= mysqli_connect("localhost", "root", " ", "db_portail");
     
    /* Vérification de la connexion */
    if (mysqli_connect_errno()) {
        printf("Échec de la connexion : %s\n", mysqli_connect_error());
        exit();
    }

    tu trouveras des exemples sur cette page:
    mysqli

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2013
    Messages : 22
    Par défaut
    Merci pour ta réponse.

    Le mysql_select_db est obsolète aussi alors?

  4. #4
    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
    C'est l'extension mysql qui est obsolète.
    Donc toutes les fonctions mysql_
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2013
    Messages : 22
    Par défaut
    ok, je vais toutes les modifier.
    Merci!

  6. #6
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut
    Citation Envoyé par irishcrew Voir le message
    ok, je vais toutes les modifier.
    Merci!
    Utilise PDO, c'est hyper facile à utiliser et super sécurisé (si tu les couple à des requêtes préparées)

    bee

  7. #7
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 631
    Par défaut
    en fait toute l'extension mysql_*(quel que soit ce qui vient après) est obsolète y compris mysql_select_db.

    A la place tu peux choisir son équivalent mysqli: mysqli_select_db($link, "bd").
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mysqli_select_db($base, "db_portail");

    d'ailleurs si tu as une seule base de données tu n'est pas obligé d'en sélectionner avec mysqli_select_db dès lors que tu l'as déjà indiqué au moment de la connexion.

  8. #8
    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 : 54
    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
    Citation Envoyé par armel18
    l'extension mysql est obsolète depuis php5.5 et sera supprimée dans le futur.
    En fait, pour être plus précis, l'extension mysql-* est obsolète, car non maintenue, depuis très longtemps, ce qui change, c'est que PHP 5.5 la considère désormais comme deprecated.

    Cela signifie que ça fait déjà plusieurs années qu'il est recommandé de ne plus l'utiliser car elle était sur le point d'être dépréciée, ce qui est désormais le cas !
    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

  9. #9
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2013
    Messages : 22
    Par défaut
    Du coup j'ai réussi a faire certaines choses.

    Par contre, j'ai le bloc suivant :
    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
          // on teste si une entrée de la base contient ce couple login / pass
     
          $sql = 'SELECT count(*) FROM users01 WHERE login="'.($_POST['login']).'" AND pass="'.md5(($_POST['pass'])).'"'; 
          $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); 
          $data = mysql_fetch_array($req); 
     
          mysql_free_result($req); 
          mysql_close(); 
     
          // si on obtient une réponse, alors l'utilisateur est un membre
          if ($data[0] == 1) { 
             session_start(); 
             $_SESSION['login'] = $_POST['login']; 
             header('Location: membre.php'); 
             exit(); 
          }
    Et la je ne vois pas comment faire pour transformer, j'ai fait cela mais ca ne marche pas (peut-être du à mon sql) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    	$result = $mysqli->query("SELECT count(*) FROM users01 WHERE login="'.($_POST['login']).'" AND pass="'.md5(($_POST['pass'])).'"")
         if $result->num_rows == 1; { 
            session_start(); 
            $_SESSION['login'] = $_POST['login']; 
            header('Location: membre.php'); 
            exit(); 
         }

  10. #10
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 631
    Par défaut
    autrement essaies cette requête et fais un debug sur le résultat de la requête:

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
           $login=$mysqli->real_escape_string($_POST['login']);
           $pass=md5($_POST['pass']);
    	$result = $mysqli->query('SELECT count(*) FROM users01 WHERE login="'.$login.'" AND pass="'.$pass.'" ');
    var_dump($result->fetch_object());
         if $result->num_rows == 1; { 
            session_start(); 
            $_SESSION['login'] = $_POST['login']; 
            header('Location: membre.php'); 
            exit(); 
         }

  11. #11
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2013
    Messages : 22
    Par défaut
    Parse error: syntax error, unexpected ';' in Z:\Sebastien\portail_aq_rate\index.php on line 17
    j'ai ce message sur la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var_dump($result->fetch_object();
    Ca sert à quoi le var_dump?

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

Discussions similaires

  1. [MySQL] Mysql et Mysqli que choisir
    Par Invité dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 20/03/2010, 11h24
  2. [MySQL] MySQL ou MySQLi
    Par geforce dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/02/2010, 21h11
  3. [MySQL] Extension mysql ou mysqli ?
    Par DJesus dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 08/03/2007, 12h50
  4. Faire cohabiter mysql et mysqli
    Par Christophe Charron dans le forum Installation
    Réponses: 1
    Dernier message: 01/03/2006, 17h14
  5. difference entre MySQL et Mysqli?
    Par maire106 dans le forum Installation
    Réponses: 3
    Dernier message: 16/06/2005, 16h17

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