begin process at 2012 05 31 03:56:46
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

pepin avec un mysql_fetch_array()


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

pepin avec un mysql_fetch_array()

mercredi 28 décembre 2005 à 22:00:10 | pepin avec un mysql_fetch_array()

justine75

bonjour!
voilà j'ai un petit problème que je n'arrive pas à élucider
le voici :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c

je ne vois pas trop où j'ai peu fauté...  :?
voici mon code :
[code]
if ($tab_com = mysql_query ($add_com,$base))
 {

 $res_com = mysql_fetch_array($tab_com); ==> ERREUR DONC ICI
$num_com = $res_com[0];
$quantite = $_SESSION['panier']['quantite'];


echo "<h3><B><b><center><font face = papyrus>Votre commande a bien été prise en compte</B><br><br>Le paiement s'effectuera au moment de la livraison<br>
le delais est de 48h
</center>";
 }
else
{
 echo "Erreur dans l'éxecution de la requete derniere_comm<br>";
 echo "Erreur".mysql_error().":".mysql_error()."<br>";
}
[/code]

merci pour votre aide!

mercredi 28 décembre 2005 à 22:22:44 | Re : pepin avec un mysql_fetch_array()

J_G

saLut...

Tu nous caches l'essentiel, à savoir la requète fautive !

Mais je soupçonne tout de même la faute :
Tu utilises une variable nommée $add_com.
Je vois gros comme ma b**e que $add_com = "insert into table ...";

donc dans le cas d'une insertion (ou update ou delete ou drop ou truncate ou ... donc tout sauf select) mysql_query répond bêtement 'true' (enfin je veux dire que c'est toi qu'est bête !)


Normal vu que tu ne lui demande pas de resultat !!!
donc $tab_com == true;
donc is_resource($tab_com) == false;
donc mysql_fetch_array($tab_com) == 'Va te faire voir';

Logique ! Non ?

mercredi 28 décembre 2005 à 23:23:30 | Re : pepin avec un mysql_fetch_array()

justine75

huumm c'est facile pour toi "homme si fort en php" de critiquer les gens qui débutent
si je suis ici c'est qu'il y a des raisons...
enfin, point de vue pédagogie = 0 ou false, comme tu veux!
heuresement qu'il n'y en a pas des tonnes comme toi ...
mercredi 28 décembre 2005 à 23:33:44 | Re : pepin avec un mysql_fetch_array()

J_G

A bon... désoler alors.


Mais c'est vrai que a force de répondre à des questions souvent identique, j'essaye de faire des experiences.

C'est tombé sur toi, encore désolé.


As-tu compris ce que je tentais de te dire ?
Sinon je répète en plus didactique...

jeudi 29 décembre 2005 à 00:51:36 | Re : pepin avec un mysql_fetch_array()

justine75

oauis ej sais bien que c'est toujours les meme questions qui sont posées mais je pense que chaque cas est différent...
revenons à mon cas ;)
en faite c'est une requete du type :
$add_com = " INSERT INTO commande(num_com, date_com) VALUES ( '', '".$date."' )";

le code ennoncé plus haut marche tres bien avec une requete de type SELECT

donc en faites j'ai pas spécialement compris ce que tu m'as dit plus haut..

jeudi 29 décembre 2005 à 01:16:41 | Re : pepin avec un mysql_fetch_array()

FhX

Suffit juste de savoir que mysql_query ne renvoit JAMAIS true, et normalement ca devrait être bon !! :)

Via la doc www.php.net ==> Mysql_query() renvoit FALSE si rien ne marche, mais certainement pas TRUE :)


De toute facon, il faut savoir que tu ne peux pas faire de mysql_fetch_array() sur une requète de type INSERT,UPDATE, DELETE etc... Seulement sur un SELECT !

Pour voir si il y a une erreur mysql je te conseil de faire une fonction comme celle la :

function query($sql) {
 if ( !$query = mysql_query($sql) ) {
      die (mysql_error());
 } else {
      return $query;
 }
}

C'est la SEULE méthode la plus fiable pour savoir si une requète est bien passé ou non, toutes les autres sont basés sur le fait qu'un if convertit TOUS les types en booléans (true/false) seulement une méthode prédéfini et pas forcément la meilleur.

Voila.
jeudi 29 décembre 2005 à 01:42:03 | Re : pepin avec un mysql_fetch_array()

J_G

Justine :

Comme le dit FhX, mysql_fetch_array sert à "convertir" le résultat d'une requète SQL en tableau. Simplement, certaine requètes ne renvoient pas de résultat sous forme de données. Il s'agit des insertions, suppression, modification...

Donc quand tu fais un insert, pas de retour de données.
Donc pas de mysql_fetch_*


FhX parle de fr.php.net... il faut que tu lises attentivement cette documentation. D'ailleurs, en voici le morceau qui explique le problème :

(FhX => le deuxième paragraphe !!!)

[ Lien ]

Valeurs de retour

Pour les requêtes du type SELECT, SHOW, DESCRIBE ou EXPLAIN, mysql_query() retournera une ressource en cas de succès, ou FALSE en cas d'erreur.

Pour les autres types de requêtes, UPDATE, DELETE, DROP, etc., mysql_query() retourne TRUE en cas de succès ou FALSE en cas d'erreur.

La ressource de résultat retournée doit être passée à la fonction mysql_fetch_array(), et les autres fonctions permettant d'explorer le résultat des tables, pour accéder aux données retournées.

Utilisez mysql_num_rows() pour trouver le nombre de lignes retournées pour une requête du type SELECT ou mysql_affected_rows() pour trouver le nombre de lignes affectées par les requpetes du type DELETE, INSERT, REPLACE, ou UPDATE.




jeudi 29 décembre 2005 à 02:53:57 | Re : pepin avec un mysql_fetch_array()

justine75

ah oauis d'accord!
je savais pas que pour un INSERT on ne pouvait utiliser mysql_fetch_array..
je comprends mieux l'erreur
je vais regarder tout ça..
merci beaucoup !!!

jeudi 29 décembre 2005 à 03:10:57 | Re : pepin avec un mysql_fetch_array()

justine75

mais souhaiterais savoir, si vous pourriez jeter un coup d'oeil à mon code pour savoir si je suis sur la bonne voie ou si je m'éloigne completement?

le voici :
[code]

<?
...
"<b>".$date = date("Y/m/d ");
"<b>".$date2 = date("d/m/Y H:i:s");
echo"<br>".$date2."<br>";

echo"<h1 align=\"center\"><font size=+6><font color=\"#000068\"><font bgcolor = #808080><font face = papyrus><u>Récapitulatif de votre commande:</u></font size></font color></h1>
<br>

<table border = 8 align = center>
 <tr>
  <td colspan = 5 align = center>

  </td>
 </tr>
<tr>
<td ><b><center><font size = +1>Reference</b></td></center>
  <td ><b><center><font size = +1>Article</b></td></center>
  <td><b><center>Prix Unitaire<br> (en €)</b></td></center>
  <td><b>Quantité</b></td></center>
  <td><p align='right'><b>Montant<br> (en €)</b></td>
 </tr>";
 aff_panier();

 echo"<tr><td></td><td><td><td><b>TOTAL  </b></td><td align = 'right'><b>".$_SESSION['total']."</b></td></tr>";

$add_com = " INSERT INTO commande(num_com, date_com) VALUES ( '', '".$date."' )";


if ($base=mysql_connect (SERVEUR,log,password))
{
 echo "<h1><u><center></u></h1></center><br>";
}
else
{
 echo "<H3>Echec de la connexion au serveur</h3>";
 exit;
}
mysql_select_db(BASE,$base);


for ($i=0;$i<20;$i++)
   {
   $tab_passer[]="";
   $tab_conserner[]="";
   $tab_acheter[]="";
   $tab_livraison[]="";
   $tab_ligne_livr[]="";


$requetes = array ("passer" => $tab_passer, "conserner" => $tab_conserner, "acheter" => $tab_acheter, "livraison" => $tab_livraison, "ligne_livr" => $tab_ligne_livr);
   }

if ($tab_com = mysql_query ($add_com,$base))
 {

 $res_com = mysql_fetch_array($tab_com);
$num_com = $res_com[0];
$quantite = $_SESSION['panier']['quantite'];

echo $res_com;


echo "<h3><B><b><center><font face = papyrus>Votre commande a bien été prise en compte</B><br><br>Le paiement s'effectuera au moment de la livraison<br>
le delais est de 48h
</center>";
 }
else
{
 echo "Erreur dans l'éxecution de la requete derniere_comm<br>";
 echo "Erreur".mysql_error().":".mysql_error()."<br>";
}

for ($i = 0; $i < 20 ; $i++)
{
 if ($_SESSION['panier']['quantite'][$i] >0)
 {
  

  $requetes['passer'][$i] = "INSERT INTO passer(num_com, num_cli) VALUES ('', '".$_SESSION['num_cli']."')";
  $requetes['conserner'][$i] = "INSERT INTO conserner (num_com, ref_produit, quantite) VALUES ( '','".$_SESSION['panier']['ref_produit'][$i]."', '".$_SESSION['panier']['quantite'][$i]."');";
  $requetes['acheter'][$i] =  "INSERT INTO acheter (num_cli, ref_produit, designation_produit, quantite, total) VALUES ('".$_SESSION['num_cli']."', '".$_SESSION['panier']['ref_produit'][$i]."', '".$_SESSION['article']."', '".$_SESSION['panier']['quantite'][$i]."','".$_SESSION['total']."');";
  $requetes['livraison'][$i] = "INSERT INTO livraison (num_livr, date_livr, etat_livr) VALUES ('','aucun', 'encours de traitement')";
  $requetes['ligne_livr'][$i] =  "INSERT INTO ligne_livr (num_com, num_livr) VALUES ('', '')";

 }

}

for ($i = 0; $i < 20 ; $i++)
{

if ($requetes['conserner'][$i] != "")
 {
  if (mysql_query ($requetes['conserner'][$i],$base))
 {
  //echo "<h3>Conserner n°".$i." Ajoute</h3>";
  }
  else
 {
  echo "Erreur dans l'éxecution de la requete add_conserner<br>";
   echo "Erreur".mysql_error().":".mysql_error()."<br>";
  }
 }
 echo "<br>Passer = ".$requetes['passer'][1]."<br>";

if ($requetes['passer'][$i] != "")
 {
if (mysql_query ($requetes['passer'][$i],$base))
 {
  //echo "<h3>Passer Ajoute n°".$i."</h3>";
 }
 else
 {
  echo "Erreur dans l'éxecution de la requete add_passer<br>";
  echo "Erreur".mysql_error().":".mysql_error()."<br>";
 }
 }

 echo"<br>acheter = ".$requetes['acheter'][$i]."<br>";
 if ($requetes['acheter'][$i] != "")
 {
  if (mysql_query ($requetes['acheter'][$i],$base))
 {
  //echo "<h3>Acheter n°".$i." Ajoute</h3>";
  }
  else
 {
  echo "Erreur dans l'éxecution de la requete add_acheter<br>";
   echo "Erreur".mysql_error().":".mysql_error()."<br>";
  }
 }
 
 echo"<br>livraison = ".$requetes['livraison'][$i]."<br>";
 if ($requetes['livraison'][$i] != "")
 {
  if (mysql_query ($requetes['livraison'][$i],$base))
 {
  //echo "<h3>Livraison n°".$i." Ajoute</h3>";
  }
  else
 {
  echo "Erreur dans l'éxecution de la requete add_livraison<br>";
   echo "Erreur".mysql_error().":".mysql_error()."<br>";
  }
 }
 echo"<br>ligne_livr = ".$requetes['ligne_livr'][$i]."<br>";
 if ($requetes['ligne_livr'][$i] != "")
 {
  if (mysql_query ($requetes['ligne_livr'][$i],$base))
 {
  //echo "<h3>Livraison n°".$i." Ajoute</h3>";
  }
  else
 {
  echo "Erreur dans l'éxecution de la requete add_ligne_livr<br>";
   echo "Erreur".mysql_error().":".mysql_error()."<br>";
  }
 }
 
session_destroy();                             //la commande est terminee on detruit la session
session_unset();
                              //et on efface toutes les variables pour eviter les bug
echo"<body bgcolor=#ccffff>";
echo"<font size = -1><i><a href = 'destruction.php'>Fermer la session</a></i></font>";
echo"votre numero de commande est le : ".$num_com.";";


?>

en faite c'est à ce moment là du site que l'enregistrement d'une commande s'effectue .

merci encore pour votre aide





jeudi 29 décembre 2005 à 03:12:04 | Re : pepin avec un mysql_fetch_array()

justine75

là il faut changer, c'est sur ==> $res_com = mysql_fetch_array($tab_com);


Cette discussion est classée dans : code, mysql, erreur, array, fetch


Répondre à ce message

Sujets en rapport avec ce message

MySQL chez Free [ par Linkman ] Bonjour !Quand j'essaye de mettre le resultat d'un requête dans un tableau chez l'hébergeur free, avec mysql_fetch_array j'obtiensWarning: mysql_fetc Erreur mysql [ par john1983 ] Bonjours, j'ai l'erreur suivante :Qu'est ce qui ne va pas?Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var Erreur mysql_fetch_array [ par gerve ] Bonjour à tous, Lorsque j'upload mon site sur mon FTP cette erreur apparait : Warning: mysql_fetch_array(): supplied argument is not a valid MySQL probleme avec : Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in ... [ par cyrilherve ] salut a tous , j'ai ce message d'erreur quand j'execute mon script php et c'est ma requette qui ne s'execute pas pourtant elle a l'air correcte.voici erreur : Warning: mysql_fetch_row() [ par laloire33150 ] Bonjour, j'ai une erreur que je ne trouve pas, pouvez vous m'aider : erreur : [code=autre]Warning: mysql_fetch_row(): supplied argument is not a va Class requêtes [ par eltyty ] Bonjour, je souhaiterai avoir votre avis quant à la pertinence de ma classe. Il s'agit d'une classe pour l'insertion dans une table. Je souhaitais ut Rajouter un Array dans un Array.. [ par onylink ] Bonjour, En vu d'écrire sur un fichier CSV, j'essaie de faire un array constituer d'array. Je sais qu'il existe une méthode "manuel" [code=php]$lise Erreur de code [ par elriser ] je débute et j'ai un souci avec ce bout de code:$query = "SELECT * FROM infos WHERE etat-cmd=nc ORDER BY 'num-cmd'";$result = mysql_query($query, $lin erreur dans mon code + MySQL [ par hadjiphp ] Bonjour, merci pour ce site et souhaite de trouver tous ce que je veux. je vous remercie. Bonjour, j'ai une question : j'ai un programme qui per problème mysql_fetch_array() [ par florianj54 ] Bonsoir, J'aimerais remplir un tableau en récupérant les valeurs dans ma base de données. ma base est construite comme ceci : TypeSport | VilleEv


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,718 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales