Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
930 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Vérifier l'existance d'une db

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Vérifier l'existance d'une db

n°409802
burgergold
5$? va chez l'diable!
Posté le 27-05-2003 à 22:30:08  profilanswer
 

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
mood
Publicité
Posté le 27-05-2003 à 22:30:08  profilanswer
 

n°409804
gm_superst​ar
Appelez-moi Super
Posté le 27-05-2003 à 22:32:04  profilanswer
 
n°409805
Core 666
Posté le 27-05-2003 à 22:35:34  profilanswer
 

Si tu n'es pas connecté au serveur, qui veux tu qui te dises si une base existe ou non ? Ton appareil photo ? [:psychokwak]

n°409806
Core 666
Posté le 27-05-2003 à 22:36:19  profilanswer
 


Nope, une connexion doit obligatoirement avoir été établie avant de pouvoir utiliser mysql_db_name() :)

n°409807
burgergold
5$? va chez l'diable!
Posté le 27-05-2003 à 22:37:00  profilanswer
 

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


---------------
http://www.boincstats.com/signature/user_664861.gif
n°409808
burgergold
5$? va chez l'diable!
Posté le 27-05-2003 à 22:38:22  profilanswer
 

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 ? [:psychokwak]


 
je voulais dire avant de selectionner une db avec mysql_select_db


---------------
http://www.boincstats.com/signature/user_664861.gif
n°409811
gm_superst​ar
Appelez-moi Super
Posté le 27-05-2003 à 22:41:38  profilanswer
 

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 :o


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
n°409812
burgergold
5$? va chez l'diable!
Posté le 27-05-2003 à 22:42:33  profilanswer
 

gm_superstar a écrit :


Mouais effectivement j'avais un doute à ce sujet ;) Enfin ça peut quand même lui convenir s'il a déjà une connexion active :o


 
avec le ptit script que jai écrit quelques poste plus haut, ca m'affiche la liste des db dispo
 
merci


---------------
http://www.boincstats.com/signature/user_664861.gif
n°409814
gm_superst​ar
Appelez-moi Super
Posté le 27-05-2003 à 22:44:51  profilanswer
 

burgergold a écrit :

avec le ptit script que jai écrit quelques poste plus haut, ca m'affiche la liste des db dispo
 
merci


Oui enfin ton script il vient du manuel PHP consacré à mysql_db_name ;)


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
n°409815
Core 666
Posté le 27-05-2003 à 22:52:15  profilanswer
 

burgergold a écrit :


je voulais dire avant de selectionner une db avec mysql_select_db


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.


Message édité par Core 666 le 27-05-2003 à 23:12:49
mood
Publicité
Posté le 27-05-2003 à 22:52:15  profilanswer
 

n°409857
burgergold
5$? va chez l'diable!
Posté le 28-05-2003 à 00:46:53  profilanswer
 

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 :
  1. while ($i < $cnt || $found = 0)

bin ca fonctionne pas dans l'autre cas
 

Code :
  1. <?php
  2. $db_config_name = "oswi_config";
  3. $db = mysql_connect('localhost', 'root', '');
  4. mysql_drop_db($db_config_name);
  5. $db_list = mysql_list_dbs();
  6. $i = 0;
  7. $cnt = mysql_num_rows($db_list);
  8. $found = 0;
  9. while ($i < $cnt || $found = 0)
  10. {
  11. echo mysql_db_name($db_list, $i);
  12. echo "<br>";
  13. if (mysql_db_name($db_list, $i) == $db_config_name)
  14. {
  15.  $found = 1;
  16. }
  17. $i++;
  18. }
  19. echo $found;
  20. if ($found != 1)
  21. {
  22. if (mysql_create_db($db_config_name))
  23. {
  24.     echo "Base de données créée";
  25.    }
  26. else
  27.    {
  28.  echo "Erreur lors de la création de la base: ".mysql_error();
  29. }
  30. }
  31. mysql_select_db($db_config_name,$db);
  32. mysql_close();
  33. ?>


Message édité par burgergold le 28-05-2003 à 00:48:21

---------------
http://www.boincstats.com/signature/user_664861.gif
n°409860
mrbebert
Posté le 28-05-2003 à 00:51:50  profilanswer
 

Code :
  1. while ($i < $cnt && $found = 0)


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 :D )

n°409863
burgergold
5$? va chez l'diable!
Posté le 28-05-2003 à 00:54:22  profilanswer
 

mrBebert a écrit :

Code :
  1. while ($i < $cnt && $found = 0)


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 :D )


 
si je mets && il ne semble meme pas entrer dans la boucle...


---------------
http://www.boincstats.com/signature/user_664861.gif
n°409865
mrbebert
Posté le 28-05-2003 à 00:57:38  profilanswer
 

$found == 0 :whistle:

n°409867
burgergold
5$? va chez l'diable!
Posté le 28-05-2003 à 01:02:25  profilanswer
 

mrBebert a écrit :

$found == 0 :whistle:  


 
 :jap:  
 
1er soirée en php :D
 
en ce moment jfais du javascript, du perl, plein dautre truc et à force de travailler avec divers language, on se mele un peu


---------------
http://www.boincstats.com/signature/user_664861.gif

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Vérifier l'existance d'une db

 

Sujets relatifs
[PHP] Fonction qui retourne les dates de tous les samedis de l'année[PHP / BlaBla - limite]
[PHP/Mysql] Probleme de requette - Helpfree et le PHP/MYSQL..je suis dégouté !
[ MySQL / PHP ] Order by date desc[PHP/Mysql] Récuprer ces données là...
[PHP] template engine : patTemplate[PHP] Création de Sous-dossier impossible
[ PHP ] une petite question...[PHP] cherche une alternative à SLEEP (problème résolut)
Plus de sujets relatifs à : [PHP] Vérifier l'existance d'une db


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR