ouvrir 2 BDD

Répondre
guppy71
le 22/11/2006 à 18:40
guppy71
Bonjour,
je reviens avec mon problème d'ouverture de bases car le sript ci-dessous ne marche pas. La première ouverture par require_once("conex-collec.php"); pas de problème

par contre je ne peux pas lire la deuxième car je suis toujours connecté sur la première et évidemment
Warning: mysql_query(): Accès refusé pour l'utilisateur: 'ODBC@localhost' (mot de passe: NON) in c:\...
Pourquoi je n'arrive pas à fermer la première base ??

$cnxcollec=chemin à la base (c'est bon vérifié)

require_once("conex-collec.php");
$sql = 'SHOW TABLES';
$req = mysql_query($sql) or die ('Erreur sql : '.mysql_error());
while ($data = mysql_fetch_array($req, MYSQL_NUM))
{ if ($data[0]==$nomcollec) $err=4; echo($data[0]); echo("**");}
$collec="x";mysql_close($cnxcollec);

require_once("../../conex.php");
$sql = 'SHOW TABLES';
$req = mysql_query($sql) or die ('Erreur sql : '.mysql_error());
while ($data = mysql_fetch_array($req, MYSQL_NUM))
{ if ($data[0]==$nomcollec) $err=4; echo($data[0]); echo("**");}
Guppy71
moogli
le 23/11/2006 à 14:36
moogli
Salut,

tu peut très avoir deux connection active en même temps ce n'est pas un problème.
Il faut simplement penser à bien indiquer le pramètre connection dans les fonctions mysql_* !

est ce que le mysql_close($cnxcollec) renvoie true?

$cnxcollec est elle bien la bonne ressource ?

Le problème ne viendrait il pas plutot de la seconde connection qui ne se fait pas ? (à vérifier sans conec.php)!

@+
Il en faut peu pour être heureux !!!!!
guppy71
le 23/11/2006 à 16:06
guppy71
Merci, je ne savais que l'on pouvait avoir 2 connection en même temps. Je vais donc imposer la base dans mes requetes mysql.
Autre question quelle est la syntaxe pour imposer une base dans "SHOW TABLES".

A+
Guppy71
moogli
le 23/11/2006 à 16:43
moogli
tu l'impose dans la requete avec le link identifier :)

tu fait deux mysql_select_db() en utilisant le link identifier, qui correspond ( base 1 ou 2).

Il faut l'utiliser à chaque requete.

dans ton soucis, je pense qu'il faut essayer de faire le close et de reprendre une connection depuis le debut. Le tout dans un fichier ou tu ne fait que cela, afin de voir d'ou vient le pb :)

si tu a besoin des deux bases à plusieurs endroits ouvre deux connections !
(je ne sais pas faire autrement, le client mysql veut une base de selectionné pour travailler !

si tes bases sont sur le même serveur pas besoin de deux connection, la selection de la table suffit !

@+
Il en faut peu pour être heureux !!!!!
LupusMic
le 24/11/2006 à 10:00
LupusMic
1 - C'est une très mauvaise idée de faire la connexion de manière implicite.

2 - Les objets c'est bien, mangez-en ©

$con_from = new mysqli('localhost', 'toto', null, 'base1) ;
$con_to = new mysqli('localhost', 'tartare', 'boeuf', 'base1) ;
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
guppy71
le 24/11/2006 à 15:42
guppy71
Merci à tous, grace à vos conseils j'ai pu réaliser ce que je voulais

A+
Guppy71
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours