Problème de récupération de données sous forme de tableau avec : mysql_fetch_arr

rem78 230 Messages postés vendredi 23 avril 2004Date d'inscription 5 avril 2015 Dernière intervention - 24 août 2004 à 21:39 - Dernière réponse : rem78 230 Messages postés vendredi 23 avril 2004Date d'inscription 5 avril 2015 Dernière intervention
- 28 août 2004 à 16:13
Bonjours,
J'ai un problème de récupération de données depuis ma table
sous forme de tableau avec l'instruction, mysql_fetch_array
J'ai fais le script suivant ( récupération depuis ma table de 3 type de données qui sont : nomfr ; emailfr ; messagefr )

56 <?php
57 //je me connecte au serveur
58 $db= mysql_connect("localhost","root","");
59 if ($db)
60 //je teste si la connection fonctionne
61 {
62 $sel=mysql_select_db("test");
63 if ($sel)
64 {
65 //ici je peux faire des requêtes
66 }
67 //le serveur ne trouve pas ma base de données
68 else echo mysql_error();
69 }
70 //le serveur n'accepte pas ma connexion pourquoi ?
71 else echo mysql_error();
72 $result=mysql_query("SELECT * FROM messagesfr_tbl");//On recherche toutes les infos. de la table
73 while($row=mysql_fetch_array($result));{ //On met les infos. dans un array
74 echo " Nom= " . $row["nomfr"] ."
";
75 echo "Adresse E-mail = " . $row["emailfr"] ."
"; //On retranscrit les infos.
76 echo "Réponse à la question= " . $row["question"] . "
";
77 echo " Méssages FR= " . $row["messagefr"] . "
";
78 echo "<hr>";
79 }
80 ?>

Mais j'ai l'erreure suivante :

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-7\www\liftski\livre_fr\lire_livre_d_or.php on line 73
Nom =
Adresse E-mail=
Réponse à la question=
Méssages FR=

Je ne vois pas !!!!
Merci de votre aide
rem78
Afficher la suite 

14 réponses

Répondre au sujet
coockiesch 2268 Messages postés mercredi 27 novembre 2002Date d'inscription 13 septembre 2013 Dernière intervention - 24 août 2004 à 21:50
0
Utile
Salut!
Quand tu effectue une mysql_query, vérifie tjs $result et fais afficher l'erreur, ca nous aidera, ;-)

if(!$result)
{
echo 'erreur mysql';
exit;
}


@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
Commenter la réponse de coockiesch
cs_Varod 15 Messages postés mercredi 31 décembre 2003Date d'inscription 25 août 2004 Dernière intervention - 25 août 2004 à 15:03
0
Utile
Salut,

Essaie de faire le test suivant :

$result= mysql_query("SELECT * FROM messagesfr_tbl",$db) or die(mysl_error());

while($row=mysql_fetch_array($result)){
echo " Nom= " . $row["nomfr"] ."
";
echo "Adresse E-mail = " . $row["emailfr"] ."
";
echo "Réponse à la question= " . $row["question"] . "
";
echo "Méssages FR= " . $row["messagefr"] . "
";
echo "<hr>";
}
?>

Ps : Dans ton code il y avait un ";" je n'ai jms essayer si ca fonctionne ac mais je suis certain que c mieux sans.

Sinon pour eviter tout plein de "if" apres une commande du genre "mysql_query " tu ajoute a la fin or die("Erreur de requete : ".mysql_error());

++
Commenter la réponse de cs_Varod
rem78 230 Messages postés vendredi 23 avril 2004Date d'inscription 5 avril 2015 Dernière intervention - 25 août 2004 à 15:25
0
Utile
Merci les gas pour vaotre aide ;)

Bon je viens de mettre la correction du script de Varod dans mon script et j'ai eu l'erreure suivante :

Fatal error: Call to undefined function: mysl_error() in c:\program files\easyphp1-7\www\liftski\livre_fr\lire_livre_d_or.php on line 72

Il me dit que la fonction n'est pas déffini.... :question) !! :question)

rem78
Commenter la réponse de rem78
rem78 230 Messages postés vendredi 23 avril 2004Date d'inscription 5 avril 2015 Dernière intervention - 25 août 2004 à 15:28
0
Utile
Ma ligne 72 ( ou ma fonction n'est pas défini )

72 $result= mysql_query("SELECT * FROM messagesfr_tbl",$db) or die(mysl_error());

while($row=mysql_fetch_array($result)){
echo " Nom= " . $row["nomfr"] ."
";
echo "Adresse E-mail = " . $row["emailfr"] ."
";
echo "Réponse à la question= " . $row["question"] . "
";
echo "Méssages FR= " . $row["messagefr"] . "
";
echo "<hr>";
}
?>

rem78
Commenter la réponse de rem78
cs_Varod 15 Messages postés mercredi 31 décembre 2003Date d'inscription 25 août 2004 Dernière intervention - 25 août 2004 à 15:34
0
Utile
euh ac un "q" c mieux ... enfin ca parrait un peu evident :p surtout que c ecrit plus loin! lol

donc il s'agit de mysql_error() ca te retourne un string avec les infos contenant les erreurs mysql ...

Voila ... ++

Vince.
Commenter la réponse de cs_Varod
rem78 230 Messages postés vendredi 23 avril 2004Date d'inscription 5 avril 2015 Dernière intervention - 25 août 2004 à 15:58
0
Utile
mon message nouveau d'erreur est :

Table 'test.messagesfr_tbl' doesn't exist

hors, ma table exist puisque j'arrive bien à écrir dedans depuis mon formulaire !!!

Base : liftski_db
2 tables : messagesfr_tbl et messagesus_tbl
table messagesfr_tbl :
ID (INT)11 No Null autoIncrement
nomfr (VACHAR) 50 No Null
emailfr (VACHAR)100 no Null
messagefr (MEDIUMTEXT) No Null

idem pour l'autre table

Moi je ne sais pas
Commenter la réponse de rem78
blinkseb 57 Messages postés mercredi 25 août 2004Date d'inscription 18 avril 2005 Dernière intervention - 25 août 2004 à 21:29
0
Utile
Evite de créer deux topics différents pour le même problème !

Table 'test.messagesfr_tbl' doesn't exist


Tu es connecté à la base "test"

Or tu dit :

"Base : liftski_db"

Tu n'es tout simplement pas connecté à la bonne base de données.

bLiNkSeB - Anciennement sebastienbro
Commenter la réponse de blinkseb
cs_Varod 15 Messages postés mercredi 31 décembre 2003Date d'inscription 25 août 2004 Dernière intervention - 26 août 2004 à 13:36
0
Utile
J'pense que Blinkseb a raison :o) Le mieux c'est de travailler dans une seule base.

Ce qui est interessant a faire lorsque l'on doit se connecter a une base ds plusieurs fichiers c'est de creer un fichier ou il y a la connection puis de l'inclure a chaque fois que tu veux te connecter.
tu appelles le fichiers connect.inc.php par exemple :

<?PHP

//=========================================
// information pour la connection à le DB//$host 'localhost';
$user = 'root';
$pass = '';
$db = 'test';




//=========================================
// connection à la DB//$link mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());

?>

Et dans ton fichier livredor.php (et tous les fichiers ou tu as besoin de faire un connection a la BD) tu n'as plus qu'a ajouter :

<?
include('connect.inc.php');
...

?>

++

Vince.
Commenter la réponse de cs_Varod
blinkseb 57 Messages postés mercredi 25 août 2004Date d'inscription 18 avril 2005 Dernière intervention - 26 août 2004 à 13:47
0
Utile
Oh la la, le même sujet traité en parallèle sur deux postes différents, les même réponses données, et toujours le même problème...

Voilà pour l'autre poste c'est mysql_fetch_array();

Pour ce qui comprenne pas, aller voir ici http://www.phpcs.com/forum.v2.aspx?ID=283746

Même auteur, même sujet... Une question, où sont les modos ?

Bon, sans rancunes ;)

bLiNkSeB - Anciennement sebastienbro
Commenter la réponse de blinkseb
coockiesch 2268 Messages postés mercredi 27 novembre 2002Date d'inscription 13 septembre 2013 Dernière intervention - 27 août 2004 à 17:11
0
Utile
"Une question, où sont les modos ?" >> Sur d'autres sites de CodeS-SourceS

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
Commenter la réponse de coockiesch
rem78 230 Messages postés vendredi 23 avril 2004Date d'inscription 5 avril 2015 Dernière intervention - 27 août 2004 à 19:16
0
Utile
Merci varod pour ta réponse...
je voudrai savoir quelle commande remplace celle-çi ?
HTTP_GET_VARS
Merci de ton aide !!

Petite mise au point pour blinkseb et coockiesch , c'est 2 post différents pour 2 problème différents sur le même sujet !!!
DE + on à encore le droit de poster et demander des renseignements ici !!! non ???? !!!! alors calmez vous !!
DE + si cela vous gène tant, vous n'y réponez pas tout simplement !!!
La preuve que les modos eux l'on bien compris .....
PS : relisez la charte du forum !!!!!

à bon entendeur.....

rem78
Commenter la réponse de rem78
cs_Anthomicro 9440 Messages postés mardi 9 octobre 2001Date d'inscription 13 avril 2007 Dernière intervention - 28 août 2004 à 13:23
0
Utile
Salut ;-)

On remplace HTTP_GET_VARS par $_GET['variable'];

a ++
Commenter la réponse de cs_Anthomicro
rem78 230 Messages postés vendredi 23 avril 2004Date d'inscription 5 avril 2015 Dernière intervention - 28 août 2004 à 15:34
0
Utile
bonjour,

Bon j'ai refait mon script en tenant compte de la remarque de Varod au sujet de mes parametres de connections, j'ai créé une page nomée config.php ou il a mes parametre de connexion suivant :
<?
//SQL:
$host='localhost'; //Entrez ici votre serveur SQL
$user='root'; //Ici votre identifiant SQL
$pass=''; //Votre Mot de pass SQL
$base='liftski_db'; //Votre base de données (pour les Freenautes, comme moi, votre base de données s'appelle comme votre identifiant
$table1='messagesfr_tbl '; //table Française
$table2='messagesus_tbl '; //table Américaine
$db=mysql_connect($host,$root,$pass);
?>

J'ai modifer mon script de ma page formulaire de mon livre d'or comme suit :

4 <?php
5 include("../livre_fr/config.php");//On charge les paramètres du fichier config.php
6 //je me connecte au serveur
7 $db=mysql_connect($host,$user,$pass);
8
9 $link = mysql_connect ($host,$user,$pass) or
10 die ('erreur :'.mysql_error());
11
12 mysql_select_db($db)or die('erreur:'.mysql_error());
13 // je mémorise les données de connexion
14 $connect = mysql_connect($host,$root,$pass);
15 //je teste si la connection fonctionne
16 if ($db) {
17 $sel=mysql_select_db("test");
18 if ($sel) mysql_select_db($table1,$connect); //On choisit la base de données
19 }
20 ?>

Maintenant j'obtiens les erreures suivantes :

Notice: Undefined variable: root in c:\program files\easyphp1-7\www\liftski\livre_fr\config.php on line 9

Warning: mysql_connect(): Access denied for user: 'ODBC@localhost' (Using password: NO) in c:\program files\easyphp1-7\www\liftski\livre_fr\config.php on line 9
erreur:Unknown database 'resource id #3'

merci de votre aide
Commenter la réponse de rem78
rem78 230 Messages postés vendredi 23 avril 2004Date d'inscription 5 avril 2015 Dernière intervention - 28 août 2004 à 16:13
0
Utile
J'ai corrigé toutes mes erreures, mais il n'y en a une que je ne comprends pas !!!

script :

mysql_select_db($db)or die('erreur:'.mysql_error());

provoque l'erreure suivante :

erreur:Unknown database 'resource id #3'

donc pourquoi il dit que ma base est inconnue ???

@+
rem78
Commenter la réponse de rem78

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.