login  Naam:   Wachtwoord: 
Registreer je!
 Forum

mysql_fetch_assoc()

Offline jarro - 23/01/2006 10:32
Avatar van jarroHTML interesse Heej mensen!

ik gebruik de volgende code voor mijn winkelwagentje:
//Hier de inhoud van de winkelwagen tonen.
$product = $_SESSION['product'];
$aantal = $_SESSION['aantal'];
echo "<form action=index.php?p=ww method='post'>";
//dit is het mooie werk: zorg ervoor dat alle producten, met stuk- en totaal prijs worden afgedrukt)
  1. <?
  2. if(isset($_SESSION['product']) && count($_SESSION['product']) > 0){
  3. for($i=0; $i < count($product);$i++){
  4. $product1 = $product[$i];
  5. $query = mysql_query("SELECT * FROM product WHERE id = ".$product1);
  6. while($obj = mysql_fetch_assoc($query)){
  7. $totaalprijs = $obj["prijs"]*$aantal[$i];
  8. echo "<a href=index.php?p=prod&id=".$product[$i].">".$obj["prodnaam"]."</a>, ".$obj["prijs"]." x ".$aantal[$i]." = ".$totaalprijs." <input type='checkbox' name='del[]' value='".$product[$i]."'><br>";
  9. }
  10.  
  11. }
  12. }
  13. else{
  14. echo "Uw mandje is nog leeg!";
  15. }
  16. ?>


Als ik in de mysql_query-regel or die(mysql_error()) toevoeg, krijg ik de volgende error:
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

Als ik het weglaat, krijg ik dit:
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/aqhd022/domains/onwijsgaaf.nl/public_html/gvn/beta/includes/ww.php on line 77

(line 77 is de while-loop met de assoc erin;-) )

Ik zie geen fouten, waarom krijg ik toch deze error?

met vriendelijke groet,

Jarro

9 antwoorden

Gesponsorde links
Offline Ch0coschijt - 23/01/2006 11:46
Avatar van Ch0coschijt HTML interesse
  1. $query = mysql_query("SELECT * FROM product WHERE id = ".$product1);

moet worde
  1. $query = mysql_query("SELECT * FROM product WHERE id = ".$product1."") or die (mysql_error());


Offline Wijnand - 23/01/2006 11:50
Avatar van Wijnand Moderator ".$product1."")

Dit is niet waar. Het mag dan gewoon zijn: ". $product)
Dus zonder die . "". Verder kan mysql_error verdere duidelijkheid geven. Meestal betekenen de errors die jij krijgt, dat er geen resultaten worden terug gegeven.
Offline Ch0coschijt - 23/01/2006 11:51 (laatste wijziging 23/01/2006 12:01)
Avatar van Ch0coschijt HTML interesse die laatste " moet er wel bij dan dus moet het ".$product "worden?
of nie?


edit. toch nie 
Offline jarro - 23/01/2006 12:54
Avatar van jarro HTML interesse Oke, ik heb dit uitgevonden:

Als ik artikel A in mijn LEGE mandje stop, krijg ik de fout niet, als artikel B er aan toevoeg ook nog niet. Maar zodra ik van artikel A of B nog een aantal toevoeg, krijg ik die error! Dit is het stukje script wat ik gebruik om het aantal te verhogen, van het opgegeven artikel.
  1. <?
  2. if(in_array($_GET['id'], $product)){
  3. $key = array_keys($product, $_GET['id']);
  4. $key = $key[0];
  5. $aantaltotaal = $aantal[$key] + $_GET['aantal'];
  6. unset($aantal[$key]);
  7. unset($product[$key]);
  8. $product[] = $_GET['id'];
  9. $aantal[] = $aantaltotaal;
  10. $_SESSION['product'] = $product;
  11. $_SESSION['aantal'] = $aantal;
  12. } else {
  13. $product[] = $_GET['id'];
  14. $aantal[] = $_GET['aantal'];
  15. $_SESSION['product'] = $product;
  16. $_SESSION['aantal'] = $aantal;
  17. }
  18. ?>

Hij heeft dus problemen met de de array $product, en dan met de value waarvan het aantal is opgehoogd.Deze neemt hij op de een of andere rare manier niet goed op, waardoor de query niet meer werkt, en waardoor ik dus die foutmelding krijg!
Offline nathanael - 23/01/2006 20:21 (laatste wijziging 23/01/2006 21:37)
Avatar van nathanael Gouden medaille

HTML gevorderde
als je $obj["prodnaam"] gebruikt moet je dan niet werken met mysql_fetch_array ipv mysql_fetch_assoc 

edit
Offline Thomas - 23/01/2006 20:30
Avatar van Thomas Moderator Bedoel je met $product niet $_SESSION['product']?

Waar komt $product vandaan?
Offline Dolfje - 23/01/2006 22:43
Avatar van Dolfje Gouden medailleGouden medailleGouden medaille

PHP ver gevorderde
@FangorN: zie openingstopic: $product = $_SESSION['product'];
staat erbij.
Offline Thomas - 23/01/2006 23:45
Avatar van Thomas Moderator Waarom doet ie dat dan in hemelsnaam? $_SESSION is een superglobal...
Offline ikkedikke - 24/01/2006 15:51
Avatar van ikkedikke PHP expert probeer dan toch eens in dat bovenste scripts
WHERE id = '".$product1."' "

Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.225s