Pb avec un select

Fermé
fala fala Messages postés 6 Date d'inscription lundi 28 août 2006 Statut Membre Dernière intervention 23 octobre 2021 - 12 juil. 2011 à 17:24
fala fala Messages postés 6 Date d'inscription lundi 28 août 2006 Statut Membre Dernière intervention 23 octobre 2021 - 18 juil. 2011 à 14:44
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 :

 
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

2 réponses

creadiff Messages postés 445 Date d'inscription samedi 3 avril 2010 Statut Membre Dernière intervention 3 novembre 2011 57
14 juil. 2011 à 01:38
Si j'ai bien compris :

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.
0
fala fala Messages postés 6 Date d'inscription lundi 28 août 2006 Statut Membre Dernière intervention 23 octobre 2021
18 juil. 2011 à 14:44
Bonjour et merci pour votre réponse.

C'est le copié collé que j'ai fait de mon code qui n'a pas marché, il a transformé mes accents graves en quote. Dès que je le copie colle, il fait ça....
0