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

  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.

  7. #7
    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
    Non ca fonctionne pas, sinon la solution la plus simple serait d'ajouter la date et l'heure à nom_bdd, comment faire ?

  8. #8
    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
    j'ai tester le code suivant :
    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
    26
      $Date = date("Y-m-d");
    // Creation de la BDD //
    mysql_connect("localhost","root","root");
    $sql = "create database ".$_POST['nom_bdd']_$Date."" ;
    $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');
      }
    Mais je n'ai toujours pas la date après le nom de la BDD crée.

  9. #9
    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
    Ca ne fonctionne pas, je rappele que je veux ajouter la date au nom de la BDD (donnée par l'utilisateur) qui sera crée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $nom        = $_POST["nom_bdd"] ;
    $Date = date("Y-m-d");
    $nom_date = $nom .' '. $Date;
     
    // Creation de la BDD //
    mysql_connect("localhost","root","root");
    $sql = "create database ".$nom_date."" ;
    $sql = mysql_query($sql); 
    $sql3 = "use ".$nom_date."";
    $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  ".$nom_date." < C:\BDD_Generique.sql";
    $CR_exec = shell_exec($commande);
    MERCI.

  10. #10
    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
    J'ai le nom de la BDD avec date et heure, mais la création de BDD sous ce nom ne fonctionne toujours pas
    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
    $nom        = $_POST["nom_bdd"] ;
    $Date = date("Y-m-d");
    $Heure = date("H:i");
    $nom_date = $nom .'_'. $Date.'_'.$Heure;
    echo $nom_date;
     
    // Creation de la BDD //
    mysql_connect("localhost","root","root");
    $sql = "create database ".$nom_date."" ;
    $sql = mysql_query($sql); 
    $sql3 = "use ".$nom_date."";
    $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  ".$nom_date." < C:\BDD_Generique.sql";
    $CR_exec = shell_exec($commande);

  11. #11
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 814
    Billets dans le blog
    14
    Par défaut
    Pourquoi donc vouloir créer des BDD à partir d'une BDD générique ?

    Si tu as 10000 utilisateurs qui veulent créer leur BDD, tu vas avoir 10000 BDD sur le serveur ? Tu vas le mettre à genoux !
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  12. #12
    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
    Je rappele mon problème, depuis le site intranet crée on doit pouvoir créer une nouvelle BDD en renseignant un nom via un formulaire (la BDD et crée à partir d'une BDD générique), pour être sûr de ne pas écraser les anciennes BDD je voudrais ajouter la date et l'heure au nom tape par l'utilisateur, je teste le programme suivant mais ça ne fonctionne pas
    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
     
    $nom        = $_POST["nom_bdd"] ;
    $Date = date("Y-m-d");
    $Heure = date("H:i");
    $nom_date = $nom .'_'. $Date.'_'.$Heure;
    echo $nom_date;
     
    // Creation de la BDD //
    mysql_connect("localhost","root","root");
    $sql = "create database ".$nom_date."" ;
    $sql = mysql_query($sql); 
    $sql3 = "use ".$nom_date."";
    $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  ".$nom_date." < C:\BDD_Generique.sql";
    $CR_exec = shell_exec($commande);

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