2013-03-28 1 views
-1

J'ai utilisé CMS avant (Joomla, Wordpress, Drupal) - la façon dont je le fais généralement est de créer la base de données, puis je vais dans la base de données et créer un utilisateur a tous les privilèges pour cette base de données spécifiquement (non global). Ensuite, je peux installer le CMS en utilisant cet utilisateur et le mot de passe que j'ai créé. Donc, je sais que cet utilisateur peut se connecter et faire des choses!Connectez-vous à la base de données avec l'utilisateur spécifique à la base de données avec PHP

Maintenant, je suis en train quelque chose de non-CMS et ma connexion ressemble à ceci (ce qui est sur ma boîte locale en utilisant XAMPP):

$host = "localhost"; 
    $user = "myDatabase-Specific-User"; 
    $pass = "myUserPassword"; 
    $databaseName = "myDatabaseName"; 
    $tableName = "pre_tableIwant"; 
    $con = mysql_connect($host,$user,$pass) ; 
    $dbs = mysql_select_db($databaseName, $con); 

Mais je reçois des erreurs de connexion avec cela et il ne laissera pas moi connecter.

Si j'utilise un utilisateur GLOBAL avec le même code (c'est-à-dire root ou un autre utilisateur que j'ai créé et qui a accès à TOUTES les bases de données), je peux me connecter et obtenir mes informations. Mais je veux garder les choses limitées (pour des raisons de sécurité) et utiliser uniquement un utilisateur qui a des droits sur cette base de données spécifique.

Des idées? Je sais qu'il s'agit probablement d'une question nouvelle - mais je ne sais pas pourquoi cela ne fonctionnera pas

+0

Quelles sont les erreurs que vous obtenez exactement? –

+0

mysql_connect(): Accès refusé pour l'utilisateur 'myDatabase-Specific-User' @ 'localhost' (en utilisant le mot de passe: YES) – Hanny

+0

cochez les privilèges myDatabase-Specific-User – Heberfa

Répondre

0

J'ai fini par utiliser PDO_MySQL et j'ai tout obtenu en utilisant PDO.

0

En fonction de l'hôte Web, vous devrez peut-être remplacer 'localhost' par l'hôte de la base de données. Je sais que si vous utilisez hosting24 ou 000webhost, c'est le cas. Parfois, il peut être msql.xxx.com par exemple.

+0

Désolé - J'utilise XAMPP - c'est sur mon localhost - Je vais mettre à jour la question! Merci! – Hanny

+0

oh je vois je vais essayer de trouver ce qui ne va pas .Cela m'a eu :) – InfiniDaZa

0

Assurez-vous que l'utilisateur mysql a accès aux connexions % (caractère générique) et localhost, elles sont différentes. Habituellement, si la base de données est sur la même machine que le serveur web, alors vous avez besoin localhost

+0

il devrait être localhost - et l'utilisateur a accès à cela. – Hanny

Questions connexes