la sélection de la base de données échoue - PHP - Programmation
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.
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
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
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.
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