Je cherche à copier plusieurs tables structures identiques mais nom différents
Je boucle sur mon fichier contenant l'information $ligne['numerocopropriete']
et je crée mes copies
un table pour xxxcomptabilite et une table pour xxxcoproprietaires pour chaque copropriété
Code : Tout sélectionner
$requete = $bdd->prepare('SELECT * FROM '.$copropriete_BDD.' ORDER BY id ASC');
$requete->execute();
while ($ligne = $requete->fetch())
{
// echo "/".$ligne['numerocopropriete']."/</br>";
$table_bdd01 = $ligne['numerocopropriete'].'comptabilite';
// $requete = $bdd->prepare('SHOW TABLES LIKE "'.$table_bdd01);
$requetetable01 = $bdd->prepare('SHOW TABLES LIKE ".$table_bdd01"');
$requetetable01->execute();
$nb_enreg = $requetetable01->rowCount();
if($nb_enreg >0){
echo 'Cette table existe déjà : '.$ligne['numerocopropriete'].'comptabilite</br>';
}
if($nb_enreg ==0){
// echo "Pas OK";
echo'La Table n\'existe pas : '.$ligne['numerocopropriete'].'comptabilite</br>';
$table = 'comptabilite';
//Le nom de la nouvelle table.
$newTable = $ligne['numerocopropriete'].'comptabilite';
//Copier la structure de la table
$reponse01 = $bdd->query("CREATE TABLE $newTable LIKE $table");
$reponse01->execute();
}
$reponse01->closeCursor();
$requetetable01->closeCursor();
// -------------------
$table_bdd02 = $ligne['numerocopropriete'].'coproprietaires';
$requetetable02 = $bdd->prepare('SHOW TABLES LIKE "$table_bdd02"');
$requetetable02->execute();
$nb_enreg = $requetetable02->rowCount();
if($nb_enreg ==0){
echo'La Table n\'existe pas : '.$ligne['numerocopropriete'].'coproprietaires</br>';
$table = 'coproprietaires';
//Le nom de la nouvelle table.
$newTable = $ligne['numerocopropriete'].'coproprietaires';
//Copier la structure de la table
$reponse02 = $bdd->query("CREATE TABLE $newTable LIKE $table");
$reponse02->execute();
$reponse02->closeCursor();
}
else{
echo 'Cette table existe déjà : '.$ligne['numerocopropriete'].'comptabilite</br>';
}
$reponse02->closeCursor();
$requetetable02->closeCursor();
} La Table n'existe pas : c0001comptabilite alors qu'elle vient d'être crée (après vérification)
( ! ) Fatal error: Uncaught PDOException: SQLSTATE[42S01]: Base table or view already exists: 1050 La table 'c0001comptabilite' existe déjà:
Je suis sur ce problème depuis un long moment (plusieurs jours) sans trouver mon erreur est-ce que while fait la boucle trop vite par rapport à la création de la table ?
Si je boucle sans la création des Tables, j'affiche les tables déjà créés et les tables qui n'existent pas sans erreur
MerciCette table existe déjà : c0001comptabilite
Cette table existe déjà : c0001coproprietaires
Cette table existe déjà : c0002comptabilite
La Table n'existe pas : c0002coproprietaires
La Table n'existe pas : c0003comptabilite
La Table n'existe pas : c0003coproprietaires
La Table n'existe pas : c0004jb12comptabilite
La Table n'existe pas : c0004jb12coproprietaires
La Table n'existe pas : c0004jb14comptabilite
La Table n'existe pas : c0004jb14coproprietaires