section Base de données impossible ????

Eléphanteau du PHP | 28 Messages

17 juil. 2005, 17:37

Bonjour,
Après avoir créé une base et un formulaire, voici que je cherche à sélectionner la base en question via le code suivant :

Code : Tout sélectionner

<? //connexion à la base $db = mysql_connect('localhost','slam','xxxx') or die ('erreur de connexion'); //sélection de la base mysql_select_db($slam); if (!$slam_selected) { die ('Impossible de sélectionner la base de données slam : ' . mysql_error()); } //J'identifie les variables $age = $_POST["age"];
Mais là, j'ai systématiquement ce message d'erreur :
Impossible de sélectionner la base de données slam : No database selected
Quelqu'un peut m'aider ??
Merci.

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

17 juil. 2005, 17:41

où $slam et $slam_selected récupèrent-elles un résultat ?

Eléphanteau du PHP | 28 Messages

17 juil. 2005, 17:51

Bonjour,

La base récupère les résultats d'un formulaire en ligne dont voici le lien ICI.
Cette requête est lancée par l'action sur le bouton "envoyer les information" du formulaire (enfin j'espère, je débute).
Est-ce suffisant comme informations ?

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

17 juil. 2005, 17:53

non rien à voir avec la question

tu testes la variable $slam_selected pour vérifier que la base est sélectionnée

hors, je répète ma question : où cette variable récupère-t-elle une valeur :?:

et tu sélectionnes la base dont le nom est contenu dans $slam : même question

Eléphanteau du PHP | 28 Messages

17 juil. 2005, 18:02

J'avoue que ta question me met dans l'embarras car je ne suis pas sûr de la comprendre (preuve que je ne maîtrise pas beaucoup le sujet ! ).
Je vais essayé d'élucider ta question en direct et par écrit.

1) avec la variable $slam (nom de la base de données) je sélectionne la base.
2) avec $slam_selected je cherche à vérifier si la base est sélectionnée
Ce que tu me demandes c'est comment cette variable $slam_selected sait si la base est sélectionnée ? (ou alors je patauge carrément ! )
Si c'est cela c'est une bonne question car je ne donne rien à cette variable pour connaître l'état selected ou !$slam_selected.
Quelle est la procédure qui permet cela ? Je ne sais pas.
HELP…

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

17 juil. 2005, 18:11

1) avec la variable $slam (nom de la base de données) je sélectionne la base.
et que contient $slam ?
Ce que tu me demandes c'est comment cette variable $slam_selected sait si la base est sélectionnée ? (ou alors je patauge carrément ! )
c'est à peu près ça oui
Si c'est cela c'est une bonne question car je ne donne rien à cette variable pour connaître l'état selected ou !$slam_selected.
une variable c'est une bête boite, qui ne se remplit pas toute seule.
Donc là tu testes si une boite est vide ou pleine, mais tu ne mets jamais rien dedans

Maintenant tu demandes comment attribuer une valeur à une variable ?
tu dois pourtant savoir le faire, tu le fais à la fin du script.

Donc pour stocker le nom de ta base de données dans $slam, ça devrait aller.

Pour stocker le résultat de la sélection de la base, c'est très simple, et c'est le même principe pour tout.
Une fonction renvoie toujours (la plupart du temps) un résultat.
Regarde dans la doc http://fr.php.net/manual/fr/function.my ... ect-db.php
bool mysql_select_db ( string database_name [, resource link_identifier] )
le bool au début indique que cette fonction renvoie un booléen :
vrai si la sélection a réussi
faux si elle a échoué

donc il te suffit de stocker le résultat dans une variable
$slam_selected = mysql_select_db($slam);
maintenant tu pourras faire ton test

Eléphanteau du PHP | 28 Messages

17 juil. 2005, 18:14

Merci pour ton aide.
Donc je retourne bosser et je te recontacte ensuite dès que cela donne quelque chose.
A +

Invité
Invité n'ayant pas de compte PHPfrance

17 juil. 2005, 20:14

Bon, ça fonctionne.
Merci du coup de main !! :lol:

Maintenant le script s'exécute bien car sur mon navigateur apparaît la phrase que je fais afficher lorsque le script est allé à son terme.

Mais un autre problème est apparu, rien ne se place dans la base de données !!!¡¡¡
Je pense que pour cette question, je dois ouvrir un autre sujet.

Au fait, quand c'est résolu, comment le signale t-on ??

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

17 juil. 2005, 20:25

effectivement, ouvre un nouveau sujet

si tu te connectes, tu auras un bouton"Mettre résolu" en haut du post il me semble