Pb avec un select
fala fala
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
fala fala Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
fala fala Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
Bonjourà tous,
J'aurais besoin de votre aide pour une requête SQL en php.
Je vous plante le décor : j'ai une cinquantaine de bases de données contenant toutes une table "operateurs" qui contient notamment les colonnes "nom" et "spe".
Je souhaite dans une base de données à part, dans la table "chirurgiens" regrouper l'ensemble des tables "operateurs" (enfin seulement les colonnes "nom" et "spe") en ajoutant en première colonne le nom de la base de laquelle sont extraites les colonnes.
Par exemple dans la base BDD1 j'avais dans la table operateurs une ligne : MARTIN || Gynéco
Je souhaite dans ma nouvelle base avoir : BDD1 || MARTIN || Gynéco
J'ai donc écris comme code :
Lorsque je lance cela, je n'ai que la première ligne de chaque table operateurs qui est mise dans ma nouvelle base. Pourquoi ?
Je n'arrive pas à voir où serait l'erreur...
Pour information j'utilise WAMP.
Je vous remercie tous d'avance!
Fala fala
J'aurais besoin de votre aide pour une requête SQL en php.
Je vous plante le décor : j'ai une cinquantaine de bases de données contenant toutes une table "operateurs" qui contient notamment les colonnes "nom" et "spe".
Je souhaite dans une base de données à part, dans la table "chirurgiens" regrouper l'ensemble des tables "operateurs" (enfin seulement les colonnes "nom" et "spe") en ajoutant en première colonne le nom de la base de laquelle sont extraites les colonnes.
Par exemple dans la base BDD1 j'avais dans la table operateurs une ligne : MARTIN || Gynéco
Je souhaite dans ma nouvelle base avoir : BDD1 || MARTIN || Gynéco
J'ai donc écris comme code :
mysql_select_db('bddglobale', $connect) or die(mysql_error()); $bdd = array('a','b','c','d','e'); for ($i=0;$i<count($bdd);$i++){ $req1 = "INSERT INTO chirurgiens('Etab', 'nom', 'spe') SELECT ('".$bdd[$i]."'), 'nom', 'spe' FROM ".$bdd[$i].".operateurs"; mysql_query($req1) ; }
Lorsque je lance cela, je n'ai que la première ligne de chaque table operateurs qui est mise dans ma nouvelle base. Pourquoi ?
Je n'arrive pas à voir où serait l'erreur...
Pour information j'utilise WAMP.
Je vous remercie tous d'avance!
Fala fala
A voir également:
- Pb avec un select
- Please select boot device - Forum Windows 7
- Reboot and select proper boot device - Forum Windows
- Select boot mode android - Guide
- Reboot and select proper boot device or insert boot media in selected boot device and press a key ✓ - Forum PC portable
- Problème de démarrage - boot device and press a key ✓ - Forum Windows 10
2 réponses
Si j'ai bien compris :
Le principal problème résidait dans la présence de quotes ' autour de nom et de spe dans le SELECT ; en effet, il s'agit alors de chaînes de caractères, et non plus de noms de colonne.
mysql_select_db('bddglobale', $connect) or die(mysql_error()); $bdds = array('a','b','c','d','e'); foreach ($bdds as $bdd){ mysql_query(" INSERT INTO chirurgiens('Etab', 'nom', 'spe') SELECT '$bdd', nom, spe FROM $bdd.operateurs ") ; }
Le principal problème résidait dans la présence de quotes ' autour de nom et de spe dans le SELECT ; en effet, il s'agit alors de chaînes de caractères, et non plus de noms de colonne.