Rechercher : dans
Par :

Problème PHP : Warning: mysql_fetch_assoc()

Dernière réponse le 1 fév 2009 à 07:12:23 nirG, le 21 avr 2008 à 21:44:45 
 Signaler ce message aux modérateurs

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>
Configuration: Windows XP
Firefox 2.0.0.14

Meilleures réponses pour « Problème PHP : Warning: mysql_fetch_assoc() » dans :
[PHP] Headers already sent by..... VoirLorsque vous utilisez une fonction PHP qui manipule les en-têtes HTTP comme par exemple: header() setcookie() session_start() Il est important d'utiliser ces fonctions avant d'avoir généré le moindre flux vers le client. A partir du moment où...
[PHP] Upload de fichiers VoirLe langage PHP permet de gérer des fichiers envoyés (uploadés) grâce à un formulaire HTML. Formulaire d'envoi de fichiers Configuration de PHP pour permettre l'upload Récupération du fichier avec PHP Formulaire d'envoi de fichiers La...
[PHP] Notice: Undefined index: VoirSi vous utilisez les tableaux $_POST ou $_GET pour récupérer les variables de vos formulaires ou autres, il se peut que vous tombiez sur cette erreur: Notice: Undefined index 'champs du tableau' in 'chemin du fichier php en cours d'execution' on line...
Télécharger PHP Edit VoirPHPEdit est un environnement de développement intégré (IDE) sous Windows pour le langage PHP. Il offre un grand nombre de fonctionnalités permettant de développer plus efficacement : Coloration syntaxique Auto-complétion des...
Télécharger PHP FTP Synchronizer VoirLa mise à jour de site web est aussi complexe que sa conception. Alors il faut utiliser le bon outil avec les bon paramètres et une bonne connaissance de programmation pour mettre à jour un site. PHP FTP Synchronizer est une application vous...
PHP - Récupération de données VoirPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...
Introduction à PHP VoirQu'est-ce que PHP? PHP est un langage interprété (un langage de script) exécuté du côté serveur (comme les scripts CGI, ASP, ...) et non du côté client (un script écrit en Javascript ou une applet Java s'exécute sur votre ordinateur...). La...
PHP - Les fichiers VoirLa gestion des fichiers avec PHP Avec PHP, la création ou la lecture de fichiers est, une fois de plus, assez simple. Il existe une multitude de fonctions dédiées à l'utilisation des fichiers. La communication entre le script PHP et le fichier...

1

Alain_42, le 21 avr 2008 à 21:50:23

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.

Répondre à Alain_42

2

nirG, le 21 avr 2008 à 22:30:07

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

Répondre à nirG

3

Alain_42, le 22 avr 2008 à 10:10:26

Oui essayes avec mysql_result($result) à la place

Répondre à Alain_42

4

nirG95, le 22 avr 2008 à 21:39:47

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

Répondre à nirG95

5

 DeGucci, le 1 fév 2009 à 07:12:23

C'est juste dû au fait que la requête ne s'est pas exécutée.

Répondre à DeGucci