Conversion MySQL vers MySQLi

Résolu
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. Modérateur
    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");
    

    1. Modérateur
      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
    2. 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.
  2. 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 ?
    1. Modérateur
      Si jamais tu as plusieurs BDD (qui utilisent le même user) tu peux passer de l'une à l'autre avec cette instruction.
    2. Merci.