Jump to content

mysql_select_db


cot
 Share

Recommended Posts

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

avec tous les parametres je m'ebrouille

Access denied for user reste mon dernier bug!

Edited by Ernestine
Link to comment
Share on other 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.

Link to comment
Share on other 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());
}

Edited by Ernestine
Link to comment
Share on other 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!

Edited by Ernestine
Link to comment
Share on other 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.

Link to comment
Share on other 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!

Edited by Ernestine
Link to comment
Share on other 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';

Link to comment
Share on other 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 ?

Link to comment
Share on other 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!

Edited by Ernestine
Les balises code !
Link to comment
Share on other 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) ?

Link to comment
Share on other sites

  • 4 weeks later...

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

Edited by Jeanluc
dans ce forum, les balises pour le code sont [code] et pas <code>
Link to comment
Share on other 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

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...