Vérifier l'existance d'une db [PHP] - PHP - Programmation
Marsh Posté le 27-05-2003 à 22:32:04
mysql_db_name 
Marsh Posté le 27-05-2003 à 22:35:34
Si tu n'es pas connecté au serveur, qui veux tu qui te dises si une base existe ou non ? Ton appareil photo ? ![[:psychokwak] [:psychokwak]](https://forum-images.hardware.fr/images/perso/psychokwak.gif)
Marsh Posté le 27-05-2003 à 22:36:19
| gm_superstar a écrit : mysql_db_name  | 
 
Nope, une connexion doit obligatoirement avoir été établie avant de pouvoir utiliser mysql_db_name() 
Marsh Posté le 27-05-2003 à 22:37:00
j'ai trouvé ceci 
 
<?php  
error_reporting(E_ALL); 
 
mysql_connect('dbhost', 'username', 'password'); 
$db_list = mysql_list_dbs(); 
 
$i = 0; 
$cnt = mysql_num_rows($db_list); 
while ($i < $cnt) { 
    echo mysql_db_name($db_list, $i) . "\n"; 
    $i++; 
} 
?> 
 
je test
Marsh Posté le 27-05-2003 à 22:38:22
| Core 666 a écrit : Si tu n'es pas connecté au serveur, qui veux tu qui te dises si une base existe ou non ? Ton appareil photo ?  | 
 
 
je voulais dire avant de selectionner une db avec mysql_select_db
Marsh Posté le 27-05-2003 à 22:41:38
| Core 666 a écrit : Nope, une connexion doit obligatoirement avoir été établie avant de pouvoir utiliser mysql_db_name()  | 
 
Mouais effectivement j'avais un doute à ce sujet  Enfin ça peut quand même lui convenir s'il a déjà une connexion active
 Enfin ça peut quand même lui convenir s'il a déjà une connexion active 
Marsh Posté le 27-05-2003 à 22:42:33
| gm_superstar a écrit :   | 
 
 
avec le ptit script que jai écrit quelques poste plus haut, ca m'affiche la liste des db dispo 
 
merci
Marsh Posté le 27-05-2003 à 22:44:51
| burgergold a écrit : avec le ptit script que jai écrit quelques poste plus haut, ca m'affiche la liste des db dispo  | 
 
Oui enfin ton script il vient du manuel PHP consacré à mysql_db_name 
Marsh Posté le 27-05-2003 à 22:52:15
| burgergold a écrit :   | 
 
Je vois pas ce qui te gène la dedans ? Vérifiez l'existance d'une base avec mysql_select_db est de loin le moyen le plus propre de le faire ... 
 
Sinon, il existe une fonction similaire à mysql_connect qui permet de spécifier la base en argument et qui retourne FALSE si la connexion ne peut pas se faire et/ou si la base n'existe pas. Elle est dépréciée (le couple mysql_connect / mysql_select_db est à préférer) mais elle pourrait te servir. 
 
Edit : en fait mes souvenirs étaient éronnés, je pensais à mysql_db_query mais ca permet de faire une requete en spécifiant la base, et pas à se connecter en spéficiant la base.
Marsh Posté le 28-05-2003 à 00:46:53
c parce que dans mon cas, c une "simili installation" que je code 
 
si la bd existe pas, je la crée et j'vais y ajouter les tables et champs par défaut 
 
mais probleme, on dirait que mon $found ne fonctionne pas correctement, il demeure à 0 alors que la db existe, et si je change la ligne 12 par 
| Code : 
 | 
 bin ca fonctionne pas dans l'autre cas 
 
| Code : 
 | 
Marsh Posté le 28-05-2003 à 00:51:50
| Code : 
 | 
 
faut mettre un &&, sinon il continue tant que $i < $cnt, sans tenir compte de la valeur de $found 
(il risque même de continuer après -> boucle infinie  )
 )
Marsh Posté le 28-05-2003 à 00:54:22
| mrBebert a écrit : 
   | 
 
 
si je mets && il ne semble meme pas entrer dans la boucle...
Marsh Posté le 28-05-2003 à 01:02:25
| mrBebert a écrit : $found == 0  | 
 
 
  
  
 
1er soirée en php  
 
 
en ce moment jfais du javascript, du perl, plein dautre truc et à force de travailler avec divers language, on se mele un peu
Marsh Posté le 27-05-2003 à 22:30:08
Salut, j'aimerais savoir s'il est possible de vérifier l'existence d'une base de données mySql avant de m'y connecter. Merci
---------------
http://www.boincstats.com/signature/user_664861.gif