Aller au contenu

mysql_select_db


Sujets conseillés

Posté (modifié)

$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
Posté

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.

Posté (modifié)

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
Posté

l'utilisateur employé pour la connexion a-t-il les droits sur la base de donnée ?

Si il y a une erreur dans ton mysql_connect, que te dit le mysql_error ?

Posté (modifié)

$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
Posté

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.

Posté (modifié)

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
Posté

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';

Posté

j'veux pas modifier mes autorisation d'acces non plus

ça fait quoi GRANT ALL PRIVILEGES ON

Posté

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 ?

Posté (modifié)

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 !
Posté

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) ?

Posté

j'avais pas vu que tu modifiais mes messages!

dsl!!!

  • 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>
Posté

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

Veuillez vous connecter pour commenter

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



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