Verifier l'existance d'une base

Résolu/Fermé
keke21410 Messages postés 494 Date d'inscription mercredi 4 février 2009 Statut Membre Dernière intervention 21 janvier 2014 - 23 mai 2010 à 21:50
Templier Nocturne Messages postés 7734 Date d'inscription jeudi 22 janvier 2009 Statut Membre Dernière intervention 21 mai 2016 - 26 mai 2010 à 22:27
Bonjour,
Y'a t'il un moyen de verifier l'existance d'une base via une fonction php ou une requêtes pdo, ou mysql_ ou mysqli_ ...
Et aussi bien sur l'existance d'une table ...
merci 'davance



2 réponses

avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
23 mai 2010 à 22:16
Il suffit d'exécuter cette requête :
SELECT COUNT(*) AS 'nb' FROM 'information_schema'.'SCHEMATA' WHERE 'SCHEMA_NAME'="dbname"


Exemple avec PDO : http://paste.pocoo.org/show/WkXtUUuOhqdq60yACz77/
1
keke21410 Messages postés 494 Date d'inscription mercredi 4 février 2009 Statut Membre Dernière intervention 21 janvier 2014 40
24 mai 2010 à 19:56
merci, mais j'ai une autre question comme tu es l'homme à réponse à tout avion-f16 :

comment peut on créer une base avec PDO ?
Je débute en PDO, avant j'utilisais mysql_

Parceque, j'ai essayé

$connection = mysql_connect('localhost', 'root', '');
$base = $_POST['base'];
mysql_query("CREATE DATABSE $base ", $connection) or die ('Création impossible de la base, veuillez réessayer plus tard, par root pour créer la base '.$_POST['base'].' Error syntax') ;


mais j'ai tout le temps le contenu du die() ...

Je comprends pas ...
Ca m'est nécéssaire de savoir comment créer une base sous wamp en local !

merci
0
Templier Nocturne Messages postés 7734 Date d'inscription jeudi 22 janvier 2009 Statut Membre Dernière intervention 21 mai 2016 1 101
24 mai 2010 à 20:06
moi je fais comme ça, ça fonctionne avec TABLE, ça doit fonctionner avec BASE :


$req=
"CREATE TABLE ".$nom_de_la_table." (
id int unsigned NOT NULL auto_increment,
test int NOT NULL default '1',
nom varchar(200) NOT NULL default '',
PRIMARY KEY (id)
)";

$bdd->exec($req);
0
Templier Nocturne Messages postés 7734 Date d'inscription jeudi 22 janvier 2009 Statut Membre Dernière intervention 21 mai 2016 1 101
24 mai 2010 à 20:09
avion => te ne vérifies pas l'existence de la base, tu vérifie si elle n'est pas vide
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
24 mai 2010 à 22:58
Ta requête est mauvaise : CREATE DATABSE $base
Pour en savoir plus, c'est ici.

@Templier Nocturne : Je viens de tester, et ça fonctionne même avec une base sans table.
0
keke21410 Messages postés 494 Date d'inscription mercredi 4 février 2009 Statut Membre Dernière intervention 21 janvier 2014 40
26 mai 2010 à 17:23
bien vu, je crois que la prog c'est pas fait pour moi, des erreurs si con que ça ...

merci, bon maintenant j'ai un "problème" de constante, enfin, message complet :

Notice: Use of undefined constant a - assumed 'a' in C:\wamp\www\test\index\install.php on line 24

mais la base est bien créer et le message du echo 'base créer avec succès' est affiché !!

moyen de retirer ce message ?

j'avais lu quelque part qu'on mettais @ devans la fonction mysql_truque je vais essayer !

et merci du coup de main !!
je te dois beaucoup avion-f16 !
0
keke21410 Messages postés 494 Date d'inscription mercredi 4 février 2009 Statut Membre Dernière intervention 21 janvier 2014 40
26 mai 2010 à 17:26
nan c'est pas le @ qui change quelque chose !

je laisse, je ferais via javascript une fonction qui cachera uen div que je marquerais avant la fonction et juste avant l'écho
0
Templier Nocturne Messages postés 7734 Date d'inscription jeudi 22 janvier 2009 Statut Membre Dernière intervention 21 mai 2016 1 101
26 mai 2010 à 22:27
le @ sert uniquement à ne pas retourner les erreurs
0