Page 1 sur 1
pb avec mysql_select_db
Posté : 15 juil. 2005, 10:18
par Justone
Bonjour a tous
Alors, iul ya qqch que je ne comprends pas.
J'ai deux bases de données arnis01 et reseau.
Lorsque je met ca, aucun problème
$hostname_reseau = "localhost";
$database_reseau = "arnis01";
$username_reseau = "public";
$password_reseau = "public";
$reseau = mysql_pconnect($hostname_reseau, $username_reseau, $password_reseau) or die(mysql_error());
mysql_select_db("arnis01") or die("Impossible de trouver la base");
Et pour ca, j'ai le message "Impossible de trouver la base" :
$hostname_reseau = "localhost";
$database_reseau = "reseau";
$username_reseau = "public";
$password_reseau = "public";
$reseau = mysql_pconnect($hostname_reseau, $username_reseau, $password_reseau) or die(mysql_error());
mysql_select_db("reseau") or die("Impossible de trouver la base");
Pkoi avec arnis01 ca marche et pas avec reseau??
Est ce un probleme de configuration?
Merci
Posté : 15 juil. 2005, 10:23
par Cyrano
D'abord, pourquoi mettre le nom de la base en paramètre au lieu d'utiliser la variable prédéfinie avec le nom de la base ?
$database_reseau = "arnis01";
//....
mysql_select_db("arnis01")
Au lieu de:
$database_reseau = "arnis01";
//....
mysql_select_db($database_reseau)
Seconde question : tes deux bases sont-lelles bien sur le même SGBD ?
Si oui, vérifie le nom exact de la base introuvable et vérifie donc la casse (maj/min)
Posté : 15 juil. 2005, 10:26
par Justone
je les ai crée avec php myadmin
sinon la casse est bien respectée
je ne comprends pas...
Posté : 15 juil. 2005, 10:52
par Cyrano
Fais-tu une déconnexion de la première base avant de connecter sur la seconde ?
Posté : 15 juil. 2005, 10:57
par Justone
tu veux dire faire un mysql_close?
si oui, ca ne change rien....
Posté : 15 juil. 2005, 10:58
par zeus
Est-ce que tu fait les 2 connections dans le même scripts en même temps ?
Posté : 15 juil. 2005, 11:01
par Justone
non.
j'avais creer la base arnis01, il ya qq mois.
et mercredi j'ai fait la base réseau et j'ai toujours le meme message.
Je l'ai créer mais elles sont utilisées pour deux choses bien distinctes!
Posté : 15 juil. 2005, 11:04
par Cyrano
Alors vérifie s'il ne faut pas des droits d'accès particulier pour cette base. Il est techniquement possible de reswtreindre les droits d'accès à une base de données en particulier: c'est peut-être le cas. Tu trouveras ça dans la base "mysql" au niveau des tables.
Posté : 15 juil. 2005, 11:05
par zeus
Et quand tu met ce code, il te met quoi comme message d'erreur ?
$reseau = mysql_pconnect($hostname_reseau, $username_reseau, $password_reseau) or die(mysql_error());
mysql_select_db("reseau") or die(mysql_error());
Posté : 15 juil. 2005, 11:09
par Justone
Voici l'erreur :
Access denied for user: 'public@localhost' to database 'reseau'
Posté : 15 juil. 2005, 11:11
par Cyrano
Voici l'erreur :
Access denied for user: 'public@localhost' to database 'reseau'
Ce qui rejoint ce que j'ai supposé dans ma précédente réponse... Il faut utiliser le bon login/mot de passe pour cette base en particulier.
Posté : 15 juil. 2005, 11:12
par Justone
Ou puis je voir quel est le bon login et mot de passe alors?
Et pourquoi est il différent de ma précedente base?
Merci
Posté : 15 juil. 2005, 11:18
par Cyrano
Ouvre phpMyAdmin. Sélectionne la base "mysql" et regarde dans la table "db" : tu devrais trouver ta base avec un nom dans la colonne "user"
Dans la table "user", tu vas retrouver la (ou les) ligne(s) correspondantes à cet utilisateur et un mot de passe probablement crypté.
Pour corriger le problème, tu peux simplement supprimer ces lignes (dans les deux tables) et ta base sera normalement accessible pour l'administrateur normal de la base avec ou sans mot de passe selon ta configuration de base.
Posté : 15 juil. 2005, 11:27
par Justone
Lorsque je met l'utilisateur root sans mot de passe ca fonctionne!
Mais je ne comprends pas pkoi ca ne marche avec l'utilisateur public!