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 :
<?php
$reference = "0";
if (isset($_GET['reference'])) {
$reference = (get_magic_quotes_gpc()) ? $_GET['reference'] : addslashes($_GET['reference']);
}
?>
<?php
// requete
$sql = ("SELECT * FROM shp_articles LEFT JOIN shp_themes ON shp_articles.reference = shp_themes.ID WHERE reference = '".mysql_escape_string(stripslashes($reference))."'");

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

// recup resultat
$data = mysql_fetch_array($req);


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


Panier Ligne22 :
<?php
$total = 0;
$poids = 0;

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

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

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

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

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

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

mysql_select_db("maDB");
mysql_query("SELECT * FROM shp_articles");
echo mysql_errno() . ": " . mysql_error() . "n";
?>
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
<?php
// on se connecte à notre base
$base = mysql_connect ('serveur', 'login', 'pass');
mysql_select_db ('ma_base', $base) ;

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

// 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)
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());

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

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


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 :
//requete
$sql = 'select * from shp_sessions where sessID = ".mysql_escape_string(stripslashes(SHOP_SESSION_ID))."';

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

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

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