Conversion MySQL vers MySQLi

Résolu/Fermé
Herve_be Messages postés 1017 Date d'inscription mercredi 4 août 2010 Statut Membre Dernière intervention 25 avril 2024 - 3 nov. 2018 à 11:22
Herve_be Messages postés 1017 Date d'inscription mercredi 4 août 2010 Statut Membre Dernière intervention 25 avril 2024 - 4 nov. 2018 à 16:06
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' ?
A voir également:

2 réponses

jordane45 Messages postés 38173 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 10 mai 2024 4 665
3 nov. 2018 à 11:30
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
jordane45 Messages postés 38173 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 10 mai 2024 4 665
3 nov. 2018 à 11:32
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
Herve_be Messages postés 1017 Date d'inscription mercredi 4 août 2010 Statut Membre Dernière intervention 25 avril 2024 8
3 nov. 2018 à 12:22
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
Herve_be Messages postés 1017 Date d'inscription mercredi 4 août 2010 Statut Membre Dernière intervention 25 avril 2024 8
4 nov. 2018 à 15:39
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
jordane45 Messages postés 38173 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 10 mai 2024 4 665
4 nov. 2018 à 16:03
Si jamais tu as plusieurs BDD (qui utilisent le même user) tu peux passer de l'une à l'autre avec cette instruction.
0
Herve_be Messages postés 1017 Date d'inscription mercredi 4 août 2010 Statut Membre Dernière intervention 25 avril 2024 8
4 nov. 2018 à 16:06
Merci.
0