Conversion MySQL vers MySQLi

Résolu
Herve_be Messages postés 1182 Date d'inscription   Statut Membre Dernière intervention   -  
Herve_be Messages postés 1182 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
L'hébergeur de mon site web va passer à php 7.2
Pour le moment je peux encore choisir ma version actuelle 5.6 ou la nouvelle version 7.2
J'ai essayé 7.2 mais je rencontre directement une erreur avec
$db = mysql_connect('localhost', 'user', 'password');

je devrait remplacer par
$db = mysqli_connect('localhost', 'user', 'password', 'my_db');

à quoi correspond 'my_db' ?

2 réponses

  1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Bonjour,

    my db ... traduction : Ma Base de données.

    Autrement dit, là où tu utilisais à l'époque deux instructions :
    $link = mysql_connect("localhost", "mysql_user", "mysql_password")
    

    et
     mysql_select_db('foo', $link);
    

    Désormais, tu n'en utilises plus qu'une seule
    $link = mysqli_connect("localhost", "my_user", "my_password", "foo");
    

    0
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      NB: Il te faudra également changer TOUTES les instructions mysql_* par leur équivalent en mysqli_*
      NB² : Attention, la syntaxe diffère parfois un peu.. pense à regarder le manuel concernant ces instructions
      manuel que tu trouveras ici :
      https://www.php.net/manual/fr/mysqli.query.php
      0
    2. Herve_be Messages postés 1182 Date d'inscription   Statut Membre Dernière intervention   11
       
      J'avais bien compris que "my_db" signifie "ma base de données" :-)
      Ma question était "que dois-je indiquer pour 'my_db'"
      mais entretemps j'ai trouvé, problème résolu.
      0
  2. Herve_be Messages postés 1182 Date d'inscription   Statut Membre Dernière intervention   11
     
    Question subsidiaire, j'ai remplacé
    // connexion à la base
    $db = mysql_connect('localhost', 'user', 'password');
    // sélection de la base
    mysql_select_db($db,'my_db');

    par
    // connexion à la base
    $db = mysqli_connect('localhost', 'user', 'password','my_db');
    // sélection de la base
    mysqli_select_db($db,'my_db');

    Si j'ai bien compris "mysqli_select_db" est devenu superflu mais je l'ai laissé par erreur et ça ne donne pas d'erreur : quelle est l'utilité de cette instruction si elle ne sert à rien ?
    0
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      Si jamais tu as plusieurs BDD (qui utilisent le même user) tu peux passer de l'une à l'autre avec cette instruction.
      0
    2. Herve_be Messages postés 1182 Date d'inscription   Statut Membre Dernière intervention   11
       
      Merci.
      0