la sélection de la base de données échoue

la sélection de la base de données échoue - PHP - Programmation

Marsh Posté le 17-11-2005 à 15:08:33    

Bonjour,
 
Je suis débutante dans le PHP et j'ai un pb lors de la connexion à ma base SQL.
Apparemment la connexion au serveur se fait bien mais après il ne trouve pas ma base.
 
Voici mon code :
mysql_connect("localhost", "mon nom", "mon mot de passe" ) or die("Le site est encombré. Attendez quelques minutes, revenez à la page précédente et recliquez sur ENVOYER" );
mysql_select_db("nom de ma base de données" ) or die("Impossible de se connecter à la base" );
 
Il m'indique donc "Impossible de se connecter à la base".
Pourtant le nom de ma base est bon. Est-ce le nom du serveur "localhost" qui empêche d'y accéder ? Faut-il mettre un nautre nom et si oui comment le trouver ?
 
Merci

Reply

Marsh Posté le 17-11-2005 à 15:08:33   

Reply

Marsh Posté le 17-11-2005 à 15:13:50    

Essaye mysql_list_dbs afin de vérifier les bases disponible pour l'utilisateur avec lequel tu t'es connecté
http://www.nexen.net/docs/php/anno [...] lien=mysql
Il y a même un exemple tout prés.

Reply

Marsh Posté le 17-11-2005 à 15:54:22    

en effet, le nom de ma base n'apparaissait pas. C'était un problème avec le nom d'utilisateur qui n'avait pas tous les privilèges...  
Merci pour cette fonction ! et merci à toi pour ton aide
 

Reply

Marsh Posté le 18-11-2005 à 03:25:02    

Les droits sous mysql c'est compliqué si on prend tout en compte ;) Et je suppose que par défaut ça vient du host qui est à une valeur définie dans la table user :)
 
En gros au lieu de modifier ton host, modifie la valeur qui te bloque avec pour test la valeur % qui est tout.
 
Localhost c'est souvent 127.0.0.1 mais pas toujours et encore moins 192.168.0.1 par exemple :) Mais si tu accède à la page avec le nom netbios de la machine t'as IP de la machine et pas 127.0.0.1 :)

Reply

Marsh Posté le 18-11-2005 à 11:47:53    

ben là, c'est surtout que son user n'a droit qu'a certaines bases de données. Ca servira à rien de mettre un % comme host vu que la conection se passe bien.
Par contre, il faudrait indiquer que ce user à le droit d'utiliser telle base et ça, ca passe par le rajout d'une ligne dans la table "mysql.db" suivit d'un "FLUSH PRIVILEGES" (si on le crait à la main) ou plus proprement avec la commande GRANT (par exemple : GRANT ALL PRIVILEGES ON mabase.* TO 'monuser'@'%' IDENTIFIED BY 'un_mot_de_passe' WITH GRANT OPTION; )
Voir http://www.nexen.net/docs/mysql/an [...] -users.php pour plus d'infos sur la seconde méthode. Dans les deux cas, un user de base ne peut normalement pas faire ça.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed