Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

pb avec pear et MySQL

2 réponses
Avatar
Willy
bonjour,

soit le code suivant:

$DB1=DB::connect($Base1DSN);
$DB2=DB::connect($Base2DSN);

$Resultat=$DB1->query("SHOW TABLES");

for (;;)
{
$Object=$Resultat->fetchRow(DB_FETCHMODE_ASSOC);
if ($Object==NULL) break;
foreach($Object as $Var) echo "$Var<br>\n";
}


Pourquoi sont-ce les noms des tables de la deuxième base de données ouverte
qui sont affichés alors que je veus ceux de la première? Comment résoudre
ce pb ?

J'utilise php/pear 4.1.2.6 sous debian woody 3.0r2

Merci de votre aide,

Willy.

2 réponses

Avatar
Guillaume Bouchard
Willy wrote:
bonjour,


Bonjour.

for (;;)


C'est beau. Il y a surement moyen de s'en sortir autrement, et au pire
fait un while TRUE, c'est plus lisible que for(;;) pour lequel il m'a
falu quelques secondes pour comprandre qu'il s'agissait d'une boucle
infinie.

Pourquoi sont-ce les noms des tables de la deuxième base de données ouverte
qui sont affichés alors que je veus ceux de la première? Comment résoudre
ce pb ?


soit le code suivant:

$DB1Û::connect($Base1DSN);
$DB2Û::connect($Base2DSN);

$Resultat=$DB1->query("SHOW TABLES");


N'aurais-tu pas simplement inversé $Base(1|2)DSN ? Sinon je ne voie pas
de solution... D'un autre coté je ne suis pas un expert en Pear ;o)

J'utilise php/pear 4.1.2.6 sous debian woody 3.0r2


Quand ont voie que ce que tu fais avec Pear je le fait sans en autant de
lignes, cela ne me donne toujours pas envit d'utiliser pear...

Merci de votre aide,


De rien.

--
Guillaume.

Avatar
Olivier Miakinen

for (;;)


C'est beau. Il y a surement moyen de s'en sortir autrement, et au pire
fait un while TRUE, c'est plus lisible que for(;;) pour lequel il m'a
falu quelques secondes pour comprandre qu'il s'agissait d'une boucle
infinie.


Je suppose que, maintenant que tu l'as compris, tu n'auras pas besoin de
plus d'une fraction de seconde pour le reconnaître la prochaine fois.

Cette syntaxe est assez courante en C. On y rencontre aussi while(1),
mais while(TRUE) ne fonctionnera que si TRUE est bien défini quelque
part, de préférence à une valeur non nulle.

En PHP, je ne vois pas bien pourquoi on éviterait cette construction qui
est à la fois claire (à mon avis du moins) et compacte.