Warning: mysql_select_db(): supplied argument is not a valid ...

Résolu/Fermé
chaima.abdouli Messages postés 94 Date d'inscription mercredi 17 juin 2015 Statut Membre Dernière intervention 3 septembre 2015 - 23 juin 2015 à 16:21
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 - 23 juin 2015 à 17:16
Bonjour,

En essayant de tester ma page un message s'affiche :

Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in /home/vintagem/www/batch/stock.php on line 11
Erreur de connexion à la BDD



Voici mon code



$servername='bla bla'; 
$database_username='bla bla'; 
$database_password='bla bla';
$database_name='bla bla'; 

$link = mysqli_connect($servername,$database_username,$database_password) or die("Erreur de connexion au serveur"); //mysql_connect
mysqli_select_db($link, $database_name) or die("Erreur de connexion à la BDD"); //old: mysql_select_db








1 réponse

ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 225
23 juin 2015 à 17:16
'lut, je vois que ton code était codé avec l'extension MySQL, bonne initiative de faire le changement! Toutefois, en plus d'être mauvaise, cette extension a induit des mauvaises pratiques: ici le
or die
pour la gestion d'erreur.
Outre les problèmes de sécurité et de mauvais code, il se trouve que
mysqli_connect
ne renvoie pas quelque chose évaluant à
false
quand la connexion a échouée, donc le or die n'est jamais déclenché.
Avec mysqli, on se sert de
mysqli_connect_errno()
pour avoir le statut de la connexion. Cette fonction ne prend pas le
$link
en paramètre. 0 = pas d'erreur évaluera à
false
. Tout autre statut évaluera à
true
. Sers-toi de ça pour faire ta gestion d'erreur avec un
if
.

Toutefois je te recommande fortement d'utiliser l'API orienté objet de MySQLi, elle est plus concise que le style procédural.
0