IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Création BDD en PHP


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 265
    Par défaut Création BDD en PHP
    Bonjour,
    J'ai un script qui récupère le nom de la BDD à créer (ca fonctionne) mais j'ai remarqué que si la BDD existe sur le serveur et on retape le même nom la 1ère est écrasée, je voudrais éviter çela (l'idéal serait de vérifier qu'on a pas déjà une BDD sous ce nom ou encore de rajouter la date et l'heure au nom donnée par l'utilisateur) ???
    Merci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    // Creation de la BDD //
    mysql_connect("localhost","root","root");
    $sql = "create database ".$_POST['nom_bdd']."" ;
    $sql = mysql_query($sql); 
    $sql3 = "use ".$_POST['nom_bdd']."";
    $sql3 = mysql_query($sql3); 
     
    // Importation de la BDD générique //
    $commande = "C:\wamp\bin\mysql\mysql5.1.36\bin\mysql -h localhost -u root -proot  ".$_POST['nom_bdd']." < C:\BDD_Generique.sql";
    $CR_exec = shell_exec($commande);
     
     
     
     
     if($commande)
      {
        echo("");
    	 include('menu_creation_2.php');
     
      }
      else
      {
        echo("La création &agrave; &eacute;chou&eacute;e.") ;
    	 include('menu_creation1.php');
      }

  2. #2
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Par défaut
    Bonjour,

    Il suffit de lister les bases présentent et si la nouvelle que l'on créer porte le nom d'une base déjà existante on gère l'erreur.

    Lister le nom des bases :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    mysql_connect('localhost', 'admin', 'password');
    $result = mysql_query('SHOW DATABASES');
    foreach ($result as $database) {
    echo $database;
    }

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 265
    Par défaut
    Merci mais j'ai pas très bien compris, ton code je l'intègre ou ? Je ne veux pas lister les bases avant (pas visiblement) je vois pas de comparaison avec le nom demande par l'utilisateur (nom_bdd) ?
    Merci;

  4. #4
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Par défaut
    Bah c'est à toi de faire le code, je te donne la procédure que je mettrais au point

    1) Tu récupères le nom de la base à créer
    2) Tu regardes si le nom de la nouvelle base n'existe pas déjà
    3) Si elle existe pas tu la créer, sinon, tu gères l'erreur.

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 265
    Par défaut
    Sinon si j'ajoute la date et l'heure je fais comment ?

  6. #6
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2008
    Messages : 20
    Par défaut
    Ca ne fonctionne pas en faisant un "CREATE DATABASE IF NOT EXISTS nom_de_ta_base" ?

    Pour reprendre ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    // Creation de la BDD //
    mysql_connect("localhost","root","root");
    $sql = "create database if not exists ".$_POST['nom_bdd']."" ;
    Je sais qu'on peut faire des "CREATE TABLE IF NOT EXISTS nom_de_la_table" pour la vérification de l'existence d'une table mais je ne sais pas si ça marche avec une base.

Discussions similaires

  1. [ODBC] connexion à differentes BDD avec php et ODBC
    Par tigunn dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 31/12/2009, 12h17
  2. [PostgreSQL] [PostGreSQL] Création d'une bdd avec PHP
    Par damien150 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 09/03/2007, 16h13
  3. xml - création xml via php(mysql) - manque données
    Par Raiders dans le forum XQUERY/SGBD
    Réponses: 5
    Dernier message: 23/03/2006, 18h54
  4. [Forum][Conseil] Création du forum PHP
    Par Tornado12 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 10
    Dernier message: 16/02/2006, 14h01
  5. Création de forum php avec pma
    Par Kylen dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 01/08/2005, 10h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo