Ajout au panier Erreur !

Répondre
mcbila
le 19/07/2006 à 11:10
mcbila
Bonjour, J’ai un petit souci avec un Ajout au Panier, je recois toujours une erreur : Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in c:.....basket.php on line 22

Merci pour votre aide.

Voici comment je fais :
  1. <?php
  2. $reference = "0";
  3. if (isset($_GET['reference'])) {
  4. $reference = (get_magic_quotes_gpc()) ? $_GET['reference'] : addslashes($_GET['reference']);
  5. }
  6. ?>
  7. <?php
  8. // requete
  9. $sql = ("SELECT * FROM shp_articles LEFT JOIN shp_themes ON shp_articles.reference = shp_themes.ID WHERE reference = '".mysql_escape_string(stripslashes($reference))."'");

  10. $req = mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());

  11. // recup resultat
  12. $data = mysql_fetch_array($req);


au niveau du lien :
  1. <a href='addtobasket.php?ref=<?php echo urlencode (stripslashes ($_GET['reference'])); ?>&prix=<?php echo urlencode (stripslashes ($_GET['prix'])); ?>'>


Panier Ligne22 :
  1. <?php
  2. $total = 0;
  3. $poids = 0;

  4. $req = mysql_query("select * from shp_sessions where sessID='".mysql_escape_string(stripslashes(SHOP_SESSION_ID))."'");
  5. +++++++++>>>LIGNE 22 : while($line = mysql_fetch_assoc($req)) {

  6. $artInfos = mysql_fetch_assoc(mysql_query("select * from shp_articles where reference='".$line[article]."'"));

  7. $poids += $line[quantite]*$artInfos[poids];
  8. $total += ($line[quantite]*$artInfos[prix]);

  9. ?>
Lefounard
le 19/07/2006 à 11:37
Lefounard
  1. <?php
  2. $artInfos = mysql_fetch_assoc(mysql_query("select * from shp_articles where reference='".$line[article]."'"));
  3. ?>

C'est bien lourd, decompose et moi j'utilise la meme facon de faire des requete que les cours.
Peut-etre avec plus de propreté ca fonctionnera !
Ciao,
I am singing in the rain , I am happy again !!
Lefounard
le 19/07/2006 à 12:00
Lefounard
passe par des variable intermediaire, decompose !
I am singing in the rain , I am happy again !!
LA GLOBULE
le 19/07/2006 à 19:57
LA GLOBULE
Oui, la requete SQL ne passe pas.
Utilise mysql_error pour connaitre l'erreur retournée.
mcbila
le 19/07/2006 à 23:06
mcbila
J'ai essayé Mysql_error sur les deux pages et le retour est pas 0 0 aucune erreur

  1. <?php
  2. mysql_connect ("*****", "****", "****");
  3. mysql_select_db ("maDB");
  4. echo mysql_errno() . ": " . mysql_error(). "n";

  5. mysql_select_db("maDB");
  6. mysql_query("SELECT * FROM shp_articles");
  7. echo mysql_errno() . ": " . mysql_error() . "n";
  8. ?>
mcbila
le 20/07/2006 à 15:51
mcbila
Bonjour, Est ce quelqu'un voudrais bien m'aider de facon concrète car je n'en sort pas, Merci beaucoup
Lefounard
le 20/07/2006 à 15:59
Lefounard
Je vais t'aider, j'ai fais un copier coller du cours waaouuhhh lol
  1. <?php
  2. // on se connecte à notre base
  3. $base = mysql_connect ('serveur', 'login', 'pass');
  4. mysql_select_db ('ma_base', $base) ;

  5. // lancement de la requete
  6. $sql = 'SELECT telephone FROM liste_proprietaire WHERE nom = "LA GLOBULE"';

  7. // on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
  8. $req = mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());

  9. // on recupere le resultat sous forme d'un tableau
  10. $data = mysql_fetch_array($req);

  11. // on libère l'espace mémoire alloué pour cette interrogation de la base
  12. mysql_free_result ($req);
  13. mysql_close ();
  14. ?>


Maintenant en prenant ce shema, tu appliques !
Ciao,
I am singing in the rain , I am happy again !!
mcbila
le 20/07/2006 à 21:17
mcbila
Lefounard > Merci :-[
En fait je voudrais savoir déjà c'est comment faire pour faire deux requêtes sur deux tables ?
Avec ces deux données :
  1. //requete
  2. $sql = 'select * from shp_sessions where sessID = ".mysql_escape_string(stripslashes(SHOP_SESSION_ID))."';

  3. $req = mysql_query($sql) or die ('Erreur SQL !'.sql.''.mysql_error());
  4. ?>

  5. <?php
  6. //requete
  7. $sql = 'select * from shp_articles where reference = ".$line[article]."';

  8. $req = mysql_query($sql) or die ('Erreur SQL !'.sql.''.mysql_error());
  9. ?>
  10. ...
Répondre
LoadingChargement en cours