pb avec mysql_select_db

Eléphant du PHP | 335 Messages

15 juil. 2005, 10:18

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

Mammouth du PHP | 19672 Messages

15 juil. 2005, 10:23

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)
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 335 Messages

15 juil. 2005, 10:26

je les ai crée avec php myadmin

sinon la casse est bien respectée

je ne comprends pas...

Mammouth du PHP | 19672 Messages

15 juil. 2005, 10:52

Fais-tu une déconnexion de la première base avant de connecter sur la seconde ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 335 Messages

15 juil. 2005, 10:57

tu veux dire faire un mysql_close?

si oui, ca ne change rien....

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

15 juil. 2005, 10:58

Est-ce que tu fait les 2 connections dans le même scripts en même temps ?
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 335 Messages

15 juil. 2005, 11:01

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!

Mammouth du PHP | 19672 Messages

15 juil. 2005, 11:04

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.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

15 juil. 2005, 11:05

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());
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 335 Messages

15 juil. 2005, 11:09

Voici l'erreur :
Access denied for user: 'public@localhost' to database 'reseau'

Mammouth du PHP | 19672 Messages

15 juil. 2005, 11:11

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.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 335 Messages

15 juil. 2005, 11:12

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

Mammouth du PHP | 19672 Messages

15 juil. 2005, 11:18

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.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 335 Messages

15 juil. 2005, 11:27

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!