Aller au contenu

mysql_select_db


cot

Sujets conseillés

$db_selected = mysql_select_db($base, $link);

avec tous les parametres je m'ebrouille

Access denied for user reste mon dernier bug!

Modifié par Ernestine
Lien vers le commentaire
Partager sur d’autres sites

inutile de le mettre dans une variable ;)

juste ceci:


mysql_select_db($base, $link);

$base doit contenir le nom de ta base de donnée (et non pas la table, si jamais il y aurais confusion)

$link contient ton information de connexion, au sujet précédent, c'était donc $connecte.

Lien vers le commentaire
Partager sur d’autres sites

C'est dans le user que ça bug

j'ai bien mis la base et non la table

$link = mysql_connect($cfgHote, $cfgUser, $cfgPass);
if (!$link) {
die('Impossible de se connecter : ' . mysql_error());
}

Modifié par Ernestine
Lien vers le commentaire
Partager sur d’autres sites

$db_selected = mysql_select_db($base, $link);
if (!$db_selected) {
die ('Impossible de sélectionner la base de données : ' . mysql_error());
}

Impossible de sélectionner la base de données : Access denied for user $user@$cfgHote to database $base

Le php c'est lourding!

Modifié par Ernestine
Lien vers le commentaire
Partager sur d’autres sites

si ce qui est affiché est vraiment $user@$cfgHote , tu a un soucis car ce n'est pas interprété. Ce qui expliquerais tout.

Sinon, l'erreur annonce que ton user $user n'a pas accès a la base de donnée $base. ça se règle via phpmyadmin ou directement en SQL en mettant un privilège % (passe-partout) sur la db $base pour l'user $user.

Lien vers le commentaire
Partager sur d’autres sites

j'te montre!

 $cfgBase = "vplg";
$cfgUser = "vplg";
$cfgPass =
$cfgHote = "localhost";

$link = mysql_connect($cfgHote, $cfgUser, $cfgPass);
if (!$link) {
die('Impossible de se connecter : ' . mysql_error());
}

Ca marche!

$db_selected = mysql_select_db('vplg', $link);
if (!$db_selected) {
die ('Impossible de sélectionner la base de données : ' . mysql_error());
}

Impossible de sélectionner la base de données : Access denied for user 'vplg'@'localhost' to database 'vplg'

Cette fonction est gonflante!

Modifié par Ernestine
Lien vers le commentaire
Partager sur d’autres sites

tiens, voici la commande SQL pour autoriser l'accès a la base de donnée pour ton utilisateur. Cette commande est a faire en SQL via un terminal ou via PhpMyAdmin, en tant que root.

GRANT ALL PRIVILEGES ON `vplg`.* TO 'vplg'@'localhost';

Lien vers le commentaire
Partager sur d’autres sites

La fonction affichée donne le droit, a l'utilisateur vplg, de faire ce qu'il veut sur la base de donnée vplg.

Evidement, si tu est en mutualisé, c'est normal que tu n'y ai pas accès :P

Tu est sûr que la base de donnée a le même nom que l'utilisateur ? Est-tu sûr que tu a les accès a celle-ci ?

Lien vers le commentaire
Partager sur d’autres sites

Dsl Ernestine!

Je viens rarement sur ces forum

Pour Aenoa

$link = mysql_connect($cfgHote, $cfgUser, $cfgPass);
if (!$link) {
die('Impossible de se connecter : ' . mysql_error());
}

ne retourne pas d'erreur donc mes parametres sont bon!

Modifié par Ernestine
Les balises code !
Lien vers le commentaire
Partager sur d’autres sites

je parle de la base de donnée, là tu ne fais que te connecter.

Est-ce que ton compte MySQL est autorisé a accéder a la base de donnée (qui porte le même nom que ton compte, apparement) ?

Lien vers le commentaire
Partager sur d’autres sites

  • 4 semaines plus tard...
Posté (modifié)

INSERT INTO maillist (Date, Email, Nom) VALUES ('2012/03/02 16:17', 'cot_AT_cotweb.com', 'cot')

fonctionne dans la fenetre SQL de mon gestionnaire de base

alors que


$liste_champs = 'Date, Email, Nom';
$liste_valeurs = "'$date', '$email', '$nom'";
$sql = "INSERT INTO maillist ($liste_champs) VALUES ($liste_valeurs)";
echo "<br>".$sql."<br>";
$resultat = mysql_db_query($base, $sql);

me retourne un resultat faux!!!!

la connexion à la base est bien établie

Modifié par Jeanluc
dans ce forum, les balises pour le code sont [code] et pas <code>
Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Dans ton code PHP, tu as

 $sql = "INSERT INTO maillist ($liste_champs) VALUES ($liste_valeurs)";

et je pense que tu te retrouves peut-être avec la commande SQL

INSERT INTO maillist (Date, Email, Nom) VALUES ('$date', '$email', '$nom')

et pas avec

INSERT INTO maillist (Date, Email, Nom) VALUES ('2012/03/02 16:17', 'cot_AT_cotweb.com', 'cot')

parce que MySQL ne connaît pas $date, $email et $nom.

Essaie avec

$liste_valeurs = "'" . $date . "', '" . $email . "', '" . $nom . "'";

Jean-Luc

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...