Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1195 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Que veut dire ce message d'erreur ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Que veut dire ce message d'erreur ?

n°660551
marcooo
Posté le 02-03-2004 à 01:21:57  profilanswer
 

J'obtient ce message lorsque je tape un mot dans un formulaire
qui est connecté a une base SQL.Ensuite j'appui sur "ok" et je devrai faire apparaitre mon résulat, et c'est ceci qui s'affiche:
 
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp\www\traitement.php on line 6
 
voila mon prog
 
<?php include("connexion.php" ); ?>
<?php
$query = "SELECT * FROM apmusic WHERE Nom = '$cadre'";  
$result = mysql_query($query);
?>
<?php while($val = mysql_fetch_array($result)){ ?>  -->> (Ligne 6)
<?php echo "Résultats pour le nom $cadre"; ?><br><br>
<?php echo " "; ?>
<?php echo $val["nom"]; ?>
<?php echo " "; ?>
<?php echo $val["année"]; ?>
<?php echo " "; ?>
<?php echo $val["nationalite"]; ?><br>
                                                                   
<?php } ?>
<?php mysql_close(); ?>

mood
Publicité
Posté le 02-03-2004 à 01:21:57  profilanswer
 

n°660553
naceroth
Posté le 02-03-2004 à 01:40:27  profilanswer
 

Il dit que tu as une erreur dans l'éxecution de la requête. Fait

Code :
  1. $result = mysql_query($query) or die(mysql_error()."<br />$query" );


 
pour avoir une idée plus précise de l'erreur

n°660557
omega2
Posté le 02-03-2004 à 03:11:39  profilanswer
 

Ca veut dire que la requête ne t'as retourné aucun résultat.
Teste le retour à l'aide d'un if ($result = mysql_query($query))
 
Au fait, a quoi ca sert de commener chaque ligne par "<?php" et de les finir par "?>" ?
 
Si tu fait ça, le jour où tu voudra utiliser les entêtes ou les sessions, tu auras des messages d'erreur. ;)

n°660559
naceroth
Posté le 02-03-2004 à 03:58:37  profilanswer
 

omega2 a écrit :

Ca veut dire que la requête ne t'as retourné aucun résultat.
Teste le retour à l'aide d'un if ($result = mysql_query($query))
 
Au fait, a quoi ca sert de commener chaque ligne par "<?php" et de les finir par "?>" ?
 


 
1. Surement pas, mysql_query retourne toujours un résultat, le recordset ou false s'il y a une erreur. De plus, si le recordset est vide, mysql_fetch_array retournera false, pas une erreur.
 
2. Parce qu'il y a de l'html entre les lignes et qu'il a estimé a raison qu'il pouvait nous en faire grâce ? :D

n°660611
dropsy
et bonne chance surtout...
Posté le 02-03-2004 à 08:36:14  profilanswer
 

naceroth a écrit :


2. Parce qu'il y a de l'html entre les lignes et qu'il a estimé a raison qu'il pouvait nous en faire grâce ? :D


 
Toi t'es optimiste :whistle:

n°660895
omega2
Posté le 02-03-2004 à 13:55:29  profilanswer
 

naceroth a écrit :


 
1. Surement pas, mysql_query retourne toujours un résultat, le recordset ou false s'il y a une erreur. De plus, si le recordset est vide, mysql_fetch_array retournera false, pas une erreur.
 

Et oui, mais "mysql_fetch_array(false)" sort le message d'erreur qu'il a obtenu. ;)
S'il avait fait un "if ($result = mysql_query($query))", son code n'aurait pas tenté de faire mysql_fetch_array sur une variable dont la valeur est "false" et donc ne lui aurait pas retourné de message d'erreur.

n°661208
naceroth
Posté le 02-03-2004 à 17:13:14  profilanswer
 

Oui, mysql_fetch_array(false) sort le message d'erreur, j'ai jamais dit le contraire.  
 
Mais tu disais que mysql_query n'avait pas retourné de résultat, ce qui est faux, elle a retourné une erreur, pas un recordset vide :)

n°663227
ingeni_kil​ler
Je te couche au bar
Posté le 04-03-2004 à 17:43:36  profilanswer
 

Je ferai plutot ça ...
 
while($val = mysql_fetch_row($result))
{
}

n°663344
Ayuget
R.oger
Posté le 04-03-2004 à 18:28:18  profilanswer
 

ingeni_killer a écrit :

Je ferai plutot ça ...
 
while($val = mysql_fetch_row($result))
{
}


c'est kif-kif comparé à son code  :heink:

n°665816
BossGTS
Posté le 07-03-2004 à 10:56:52  profilanswer
 

Hello,
moi je pense que ça provient en effet d'une erreur mais du à la nature de ta requete car tu te sert de la variable $cadre ds ta requete mais déjà elle n'est pas définie plus haut. Donc c clair que t'aura pa de retour. Cela dit tu aurai pas forcément d'erreur pour ça mais juste un résultat vide....
 
De plus je vois pas de trace de ta connexion.... tu déclare la page connexion.php mais ou est ta fonction pr te connecter à ta base ? sinon c CLAIR que ça vient de là....
 
En espérant que ça t'aura aidé....

mood
Publicité
Posté le 07-03-2004 à 10:56:52  profilanswer
 

n°668121
marcooo
Posté le 09-03-2004 à 00:41:02  profilanswer
 

voici mon fichier "conexion"
 
<?php
$host="localhost";
$user="root";
$pass="";
$bdd="apmusic";
 
@mysql_connect($host,$user,$pass) or die("Impossible de se connecter" );
@mysql_select_db("$bdd" ) or die("Impossible de se connecter" );
?>
 
de plus je pense avoir un problème comme tu le dis sur le "$cadre",car dans mon Formulaire html dont le code est le suivant :
 
<html>
<head>
<title>Document sans nom</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<body class="image">
<form name="form3" method="post" action="traitement.php">
 <input type="text" name="[g]cadre
">
  <input type="submit" name="Submit" value="ok">
</form>
</body>
</html>
 
 
Lorsque je tape un mot qui dans ma base de donnée nomé: "apmusic",le résulat ne s'affiche pas, j'ai ce message :
 
Notice: Undefined variable: cadre in c:\program files\easyphp1-7\www\traitement.php on line 3
 
donc j'ai un problème avec la ligne 3 du fichier traitement et le problème vient de la variable "cadre" et je ne comprend pas ce problème car je l'ai bien d"fini pourtant ( je pense ).
 
de plus, quand je suppriùe le "$" devant "cadre", j'ai une page blanche ... et plus de message d'erreur
 
Je perd la tête :crazy:

n°668132
naceroth
Posté le 09-03-2004 à 01:34:56  profilanswer
 

remplace ton $cadre par $_POST['cadre'] :)
 
ou fait un $cadre = $_POST['cadre']; avant d'effectuer ta requête, comme tu veux  :ange:


Message édité par naceroth le 09-03-2004 à 01:35:53
n°668134
marcooo
Posté le 09-03-2004 à 01:45:10  profilanswer
 

dans le formulaire html ? ou dans le programme PHP
ou dans les 2 ?

n°668135
marcooo
Posté le 09-03-2004 à 01:48:49  profilanswer
 

j'ai rajouter :
$cadre = $_POST['cadre'];  
dans les variables
 
et j'obtient tjs ma meme erreur.

n°668146
naceroth
Posté le 09-03-2004 à 02:30:31  profilanswer
 

marcooo a écrit :

dans le formulaire html ? ou dans le programme PHP
ou dans les 2 ?


 
C'est du php, la bonne réponse est bien sûr dans le programme php, au début, avant la requête :

Code :
  1. if (isset($_POST['cadre'])){
  2.   $cadre = $_POST['cadre'];
  3. } else
  4. {
  5.   $cadre = '';
  6. }
  7. $query = "SELECT * FROM apmusic WHERE Nom = '$cadre'";
  8. $result = mysql_query($query) or die ($query);


 
ey si ça marche toujours pas, donne nous la requête que le code ci-dessus t'affiche :)


Message édité par naceroth le 09-03-2004 à 02:32:32
n°668705
BossGTS
Posté le 09-03-2004 à 16:34:27  profilanswer
 

OK pr ton fichier connexion alors,
cela dit il te manque une variable pour obtenir une connexion persistante a ta base et ainsi la placer en argument dans la requete...
du style
$connexion = connexion($user,$password,$serveur,$db);
$requete = "SELECT * FROM db";
$resultat = mysql_query($requete,$connexion);
 
si tu met pas la connexion en argument c normal que ça marche pas..
après c peu etre que tu la mi mais que nous la pas mi sur le fichier...ça se peu aussi.
 
enfin vérifie...
 
ciao

n°668725
naceroth
Posté le 09-03-2004 à 17:03:10  profilanswer
 

BOssGTS a écrit :


cela dit il te manque une variable pour obtenir une connexion persistante a ta base et ainsi la placer en argument dans la requete...


 
euh, non, le deuxième arguments d'un mysql_query est facultatif. S'il est absent, c'est la dernière connexion ouverte qui est utilisée ou à défaut une connexion est créée avec les arguments par défaut...
 
(Ah et j'oubliais, connexion n'est pas non plus une fonction, donc pas de retour  :ange: )


Message édité par naceroth le 09-03-2004 à 17:05:27

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Que veut dire ce message d'erreur ?

 

Sujets relatifs
Handle sous-menu erreur[C++ Erreur] ComCtrls.hpp(2638): E2015 Ambiguïté entre 'Windows' et...
[vb]erreur method or data member not found[reglé]Problème pour compiler (erreur)
[PHP] qcq ca veut dire ?Probleme d'interpretation d'un message d'Erreur de g++
SQL/ACCESS:erreur de requêtemessage erreur Fatal error: Failed opening required ...
Plus de sujets relatifs à : Que veut dire ce message d'erreur ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR