2013-10-14 2 views
0

je le bit de code suivant:PHP se connecter à mySQL - Accès refusé

ob_start(); 
$host="localhost"; // Host name 
$username="admin"; // Mysql username 
$password=""; // Mysql password 
$db_name="my_db_m"; // Database name 
$tbl_name="members"; // Table name 

// Connect to server and select databse. 
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB :".mysql_error()); 

// Define $myusername and $mypassword 
$myusername=$_POST['myusername']; 
$mypassword=$_POST['mypassword']; 

Lorsque je tente de se connecter, je reçois: ne peut pas sélectionner DB: Accès refusé pour l'utilisateur '' @ 'localhost' à la base de données 'my_db_m'

J'utilise xampp. J'ai utilisé phpMyAdmin pour créer une base de données appelée 'my_db_m'. J'ai créé une table nommée "membres".

Ai-je raté quelque chose? Je me connecte au serveur mysql encore incapable d'accéder à la base de données ...

+0

Vous avez besoin accorder des autorisations à l'utilisateur qui permet à cet utilisateur d'accéder à une base de données spécifique. –

+0

avis obligatoire: mysql est obsolète. veuillez utiliser 'mysqli'. – PlantTheIdea

+0

Avez-vous 'GRANT' accès à la table pour votre utilisateur' admin'? –

Répondre

0

Vous devez probablement accorder l'accès à votre utilisateur admin.

GRANT ALL ON my_db_m.* TO 'admin'@'localhost'; 

Ceci est tout à fait balayer comme elle accorde tous les droits, et vous pourriez vouloir restreindre l'accès à un usage général à quelque chose comme

GRANT INSERT, UPDATE, SELECT, DELETE ON my_db_m.* TO 'admin'@'localhost'; 
+0

en utilisant phpMyAdmin, où dois-je entrer cette commande? –

+0

@YokanGekkou - voir la [documentation] (http://wiki.phpmyadmin.net/pma/user_management) pour la gestion des utilisateurs. – EmmyS

+0

Si vous utilisez phpMyAdmin, vous n'avez pas besoin de cette commande: vous pouvez accorder l'accès via l'onglet Privilèges de la page d'accueil. Dans un environnement d'hébergement partagé, l'onglet Privilèges peut être désactivé et un autre mécanisme sera utilisé. Il y a une référence phpMyAdmin [ici] (http://wiki.phpmyadmin.net/pma/user_management#Editing_an_existing_user). Si cela ne vous aide pas, contactez votre FAI –

0

Simple

GRANT USAGE ON my_db_m TO [email protected] IDENTIFIED BY 'passwd'; 

Si vous souhaitez pour accorder l'utilisation à n'importe quelle utilisation de DB:

GRANT USAGE ON *.* 
Questions connexes