Posez votre question Signaler

Problème PHP : Warning: mysql_fetch_assoc() [Résolu]

nirG - Dernière réponse le 1 févr. 2009 à 07:12
Bonjour,
J'ai un petit soucis avec mon site, j'ai le message suivant :
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\Program Files\xampp\htdocs\Intranet\a_gamme.php
Ce message s'affiche que quand j'ai effacé mes traces avec Firefox. Donc, j'ai cherché sur différent forum, mais je n'ai rien trouvé pour m'aider. Je suis un débutant en PHP donc si vous pouvez m'aider à corriger mon code afin de ne plus avoir ce message.
Je vous remercie d'avance de vos réponses.
Cordialement
nirG
<?php require_once('connexion.php'); ?>
<?php
session_start();
if (session_is_registered("authentification")){
}
else {
header("Location:index.php?erreur=intru");
}
?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>TITLE</title>
<link rel="stylesheet" href="style.css" media="screen"><!--[if lte IE 6]>
	<link rel="stylesheet" href="../../css/ie.css" media="screen" />
<![endif]--></head><body id="autom">
<div id="wrapct">
	<!--header-->
	<div id="header">
		<div id="logo"><h1 title="Magnetto Wheels"><span>Magnetto Automotive</span></h1>
		</div>
	</div>
	<!--/header-->
	<!--lang-->
	<div id="lang">
	</div>
	<!--/lang-->
	<!--main-->
	<div id="main"><p class="Style2 Style3">&nbsp;&nbsp;&nbsp;Bienvenue <span class="Style8"><?php echo $_SESSION['prenom']; ?> <?php echo $_SESSION['nom']; ?>
		<div id="colsx">
			<ul>
				<li><a class="on" href="#">Menu</a></li>
<?php 
  // si l'utilisateur est connecté comme admin ...
  if($_SESSION['privilege'] == "admin") { // Affichage conditionnel : si et seulement si l'utilisateur est connecté avec le privilege administrateur ?>
				<li><a href="a_affaire.php">ajouter affaire</a></li>
				<li><a href="a_gamme.php">ajouter gamme</a></li>
				<li><a href="a_outil.php">ajouter outil</a></li>
				<li id="mores"><a href="">modifier affaire</a></li>
				<li><a href="">modifier gamme</a></li>
				<li><a href="">modifier outil</a></li>
				<li id="mores"><a href="">supprimer affaire</a></li>
				<li><a href="">supprimer gamme</a></li>
				<li><a href="">supprimer outil</a></li>
				<li id="mores"><a href="">Gestion utilisateur</a></li>
<?php } // fin de l'affichage conditionnel?>
				<li id="mores"><a href="index.php?erreur=logout">se deconnecter</a></li>
			</ul>
		</div>
<br><?php
    $sql  = "SELECT COUNT(*) AS nbr FROM affaire WHERE nom_affaire = '".$_POST['nom_affaire']."'";
    $res  = mysql_query($sql);
    $alors  = mysql_fetch_assoc($res);
    $date = strftime("%Y-%m-%d");
?> 

	<form action="a_affaire.php" method="post">
	<p>
	<center> Nom de l'affaire <br><input type="text" name="nom_affaire"></center>
	<div class="centre2">
	<div class="bloc1"><?php
		  if(isset($_POST['nom_affaire'])){
      if(!($alors['nbr'] == 0)){
        echo "Cette affaire existe deja !!";
      }else{
        if ($_POST['nom_affaire'] != NULL)
		{
              		$nom_affaire = mysql_real_escape_string(htmlspecialchars($_POST['nom_affaire']));
              		mysql_query("INSERT INTO affaire VALUES('', '$nom_affaire', '$date')");
		}
      }
    }
?></div></div>
<br><br><center>
      <input type="submit" value="Envoyer"onclick="return confirm('Etes vous sure de vouloir ajouter cette valeur ?')" /> </center>
	      

	  
	  
	  
	  
      </p>
      </form>
<center><TABLE BORDER="3">&nbsp
<TR><TD>&nbsp;Les affaires presentes <a href="?type=2&class=desc"><img src="images/f_b.jpg" border=0></a> <a href="?type=2&class=asc"><img src="images/f_h.jpg" border=0></a>&nbsp
    <TD>&nbsp;Date de creation <a href="?type=3&class=desc"><img src="images/f_b.jpg" border=0></a>&nbsp<a href="?type=3&class=asc"><img src="images/f_h.jpg" border=0></a>&nbsp
<?php
      if ($_GET['type'] == NULL)
	{
	$_GET['type'] = date_a;
	$_GET['class'] = desc;
	}
      $reponse = mysql_query("SELECT * FROM affaire order by ".$_GET['type']." ".$_GET['class']."");
      while ($donnees = mysql_fetch_array($reponse))
      {
?>
<TR><TD>&nbsp;<?php
      echo $donnees['nom_affaire'];?><TD><center><?php echo $donnees['date_a']; ?></TD></TR>
<?php
      }
?>
</TABLE> <br>
	</div>
<!--main-->
<div id="automFh">
</div>
	<!--footer-->
	<div id="footer">
		</div>
	<!--/footer-->
</div>
</body></html>
Lire la suite 

Problème PHP : Warning: mysql_fetch_assoc() »

5 réponses
Réponse
+2
moins plus
Tu dois avoir une erreur avant:

mets la trace d'erreur:

$sql  = "SELECT COUNT(*) AS nbr FROM affaire WHERE nom_affaire = '".$_POST['nom_affaire']."'";
    $res  = mysql_query($sql) or die ("Pb requette ".mysql_error(();
    $alors  = mysql_fetch_assoc($res);


Et si cela se produit qd tu supprimes tes cookies c'est que tu perd la session.
nirG - 21 avril 2008 à 22:30
Merci de ta réponse, mais mon problème n'est pas toujours présent.

C'est que de temps en temps il me fait l'erreur, mais parfois il ne l'a fait pas. Je ne sais comment faire lol.
Pour le problème de session je pense pas, car dès que j'ai perdu la session je suis redirigé vers la page de login.

Y a t-il des erreurs sur mon code ? Ou des possibilités afin de supprimer le mysql_fetch_assoc() ?

Je vous remercie d'avance de vos réponses.

Cordialement.

nirG
Alain_42- 22 avril 2008 à 10:10
Oui essayes avec mysql_result($result) à la place
nirG95- 22 avril 2008 à 21:39
Ok, j'ai donc modifié mon code.

<?php
$date = strftime("%Y-%m-%d");
$sql  = "SELECT COUNT(*) AS nbr FROM gamme WHERE nom_gamme = '".$_POST['nom_gamme']."' and id_affaire = '".$_POST['type']."'";
$res  = mysql_query($sql)or die ("Pb requette ".mysql_error());
$reponse = mysql_query("SELECT id_affaire, nom_affaire FROM affaire order by nom_affaire");
?>

	<form action="a_gamme.php" method="post">
	<center>Nom de la gamme<br><input type="text" name="nom_gamme" />
	<div class="centre2">
	<div class="bloc1"><?php
	if(isset($_POST['nom_gamme'])) 
		{
      			if($res['nbr'] == 0)
			{
				?>La gamme
				<?php
        			echo $_POST['nom_gamme'];?>
				existe deja dans cette affaire !! 
				<?php
      			}


Pour l'instant sa fonctionne, je posterai en cas d'erreur :D
Merci encore.

Cordialement.

nirG
Ajouter un commentaire
Réponse
+0
moins plus
C'est juste dû au fait que la requête ne s'est pas exécutée.
Ajouter un commentaire
Ce document intitulé « Problème PHP : Warning: mysql_fetch_assoc() » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?