Chercher des infos dans MySQL avec PHP

Fermé
mouse Messages postés 136 Date d'inscription mercredi 4 avril 2001 Statut Membre Dernière intervention 13 avril 2007 - 30 oct. 2001 à 01:27
Bobinours Messages postés 2898 Date d'inscription jeudi 26 avril 2001 Statut Membre Dernière intervention 21 mars 2013 - 31 oct. 2001 à 01:18
Bonjour vous,

je viens de passer 3 heures a essayer de voir ce qui n'allait pas dans le code suivant, en vain.
j'ai une table qui se nomme LISTE_NOM contenant les champs "id", "nom", "id_fonction"
le code est le suivant

<?php
$link = mysql_connect ("localhost", "mouse", "password") or die("pas bon");
print ("Connexion réussie");

echo "<BR>";
$result = mysql_db_query("base","SELECT * FROM LISTE_NOM");

while ($row = mysql_fetch_array($result)) {
echo $row["nom"];
echo $row["id"];
}
mysql_close ($link);
?>


il me dit que j'ai une erreur au niveau de la ligne qui contient la fonction while
le message d'erreur (en fait un warning, mais il me fait pas la fonction...) : "Warning: Supplied argument is not a valid MySQL result resource in c:\programfiles\easyphp\www\essai\index.php on line 13"

Je comprends pas pourquoi. En fait pas moyen d'acceder au contenu de la variable $result que ce soit en utilisant mysql_fetch_array ou bien d'autres du style mysql_num_fields($result)...

je comprends pas pourquoi. Tout les tutoriaux du web me donne cette syntaxe, est-ce que j'ai oublié quelque chose ?

je tiens a preciser que je me connecte sans probleme a la base, et que le user "mouse" a tous les droits.

encore une chose, dans la syntaxe $result = mysql_db_query("base","SELECT * FROM LISTE_NOM");
a quoi correspond le mot "base" ? car parfois dans des exemples, certains ecrient "database".

Merci pour votre aide

2 réponses

Tittom Messages postés 422 Date d'inscription mardi 30 mai 2000 Statut Membre Dernière intervention 10 janvier 2007 128
30 oct. 2001 à 09:34
Je n'ai pas la référence PHP sous les yeux, mais a priori "base" correspond au nom de ta base MySQL tel que tu l'as indiqué lors de la création. Je ne saurais pas le confirmer, car je procède légèrement différemment : j'utilise les fonctions mysql_connect, puis mysql_select_db (si j'ai bonne mémoire ?) pour indiquer sur quelle base je vais travailler. Par la suite, j'utilise mysql_query($requete) et non pas mysql_db_query, puis en effet mysql_fetch_array ou mysql_fetch_object, voire mysql_fetch_row.

J'espère que ces indications t'aideront un peu. Moi je sens bien le coup que "base" ne correspond pas à un nom de base de données installé sur ton serveur MySQL.

Tittom
0
Bobinours Messages postés 2898 Date d'inscription jeudi 26 avril 2001 Statut Membre Dernière intervention 21 mars 2013 504
31 oct. 2001 à 01:18
Ton erreur signifie que ta requête n'est pas correcte (et ne renvoi pas de résultat, ce qui est différent de 0).
Essai de l'executer directement dans MySQL (PhpMyAdmin...). Comme elle semble correcte, vérifie le nom de ta base de données "base" (cf Tittom).
Enfin essai de te connecter en 2 temps:
<?php
...
mysql_select_db("base");
mysq_query("SELECT * FROM LISTE_NOM");
...
?>

Cela te permettra de séparer les opérations et de mieux ciblé ton erreur (si elle se trouve sur le select de la base ou l'execution de la requête.
Si le problème persiste, tiens nous au courant.

-= Bobinours =-
0