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 :

Suppression de toutes les tables d'une base de données avec PDO [PDO]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Suppression de toutes les tables d'une base de données avec PDO
    Bonjour, je n'oses pas lancer mon script avant d’être passé par votre contrôle/conseil
    voici ce que j'ai écrit pour vider toutes mes tables!
    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
     
     
    <?php
    $dbhost = 'mysql55';
    $dbname = 'chu142';
    $dbuser = 'chu142';
    $dbpass = 'xyzbiensur';
    $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
    $bdd = new PDO( 'mysql:host=' . $dbhost . ';dbname=' . $dbname, $dbuser, $dbpass, $pdo_options );
     
     
    $result = $bdd->query("show tables");
    while ($row = $result->fetch(PDO::FETCH_NUM)) {
    echo $row[0]."<br>";
    $bdd->exec("DROP TABLE $row[0]");
    }
     
     
    ?>
    Merci d'avance
    Jean-Pierre

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 631
    Par défaut
    bonsoir,

    si l'une des tables défini des FOREIGN KEY il faut les désactiver:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $bdd->exec('SET foreign_key_checks=0'); //avant le while
    //drop table
    $bdd->exec('SET foreign_key_checks=1'); //après le while
    sinon le plus simple serait de supprimer la BD ensuite la recréer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $bdd->exec('DROP DATABASE IF EXISTS chu142'); 
    $bdd->exec('CREATE DATABASE chu142');

  3. #3
    Invité
    Invité(e)
    Par défaut
    Mille mercis c'est génial

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 13
    Dernier message: 30/04/2015, 22h16
  2. [Batch] Récupérer toutes les tables d'une base de données
    Par Centonni dans le forum Spring
    Réponses: 2
    Dernier message: 16/09/2012, 11h58
  3. script pour repertorier toutes les tables d'une base de données ?
    Par delphino7 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 28/06/2011, 13h32
  4. Suppression de toutes les tables dans une base de données
    Par GDMINFO dans le forum Langage SQL
    Réponses: 5
    Dernier message: 18/04/2007, 08h24

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