Verifier l'existance d'une base

Résolu
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



--

Débutant !

2 réponses

  1. 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
    1. 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
    2. 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
    3. avion => te ne vérifies pas l'existence de la base, tu vérifie si elle n'est pas vide
      0
  2. 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
    1. 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
    2. 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
    3. le @ sert uniquement à ne pas retourner les erreurs
      0