login  Naam:   Wachtwoord: 
Registreer je!
 Forum

mysql_fetch_assoc() werkt niet (Opgelost)

Offline kilian - 25/06/2007 09:50 (laatste wijziging 25/06/2007 09:51)
Avatar van kilianLid Ik heb de volgende code:
  1. <?php
  2. include "../config.php";
  3. $id = $_GET['id'];
  4. echo $id;
  5. if ($id=''){
  6. echo "Er is een fout opgetreden";
  7. } else {
  8. $select1 = "SELECT * FROM wiedoetwat WHERE ".$id." =lidid";
  9. $select = mysql_query($select1);
  10. $select2 = "SELECT * FROM wedstrijden WHERE $obj1->wedid=$select1";
  11. $res = mysql_query($select2);
  12. while ($arr = mysql_fetch_assoc($res)) {
  13. echo "type: ".$arr["type"];
  14. if ($arr["naam"]!=''){
  15. echo "naam: ".$arr["naam"];
  16. }
  17. echo "datum: ".$arr["datum"];
  18. echo "locatie: ".$arr["plaats"];
  19. }
  20. }
  21. ?>

en krijg mysql_fetch_assoc() niet aan de praat. Hij geeft de hele tijd de volgende errors:

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\wamp\www\brtc ledenbase\leden\liddoetwat.php on line 12

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in C:\wamp\www\brtc ledenbase\leden\liddoetwat.php on line 20

14 antwoorden

Gesponsorde links
Offline Mad_Mike - 25/06/2007 09:53
Avatar van Mad_Mike PHP beginner
  1. $select1 = "SELECT * FROM wiedoetwat WHERE ".$id." =lidid";
  2. $select = mysql_query($select1);
  3. $select2 = "SELECT * FROM wedstrijden WHERE $obj1->wedid=$select1";


Dat gaat niet werken zo he...
Offline kilian - 25/06/2007 09:57
Avatar van kilian Lid wat doe ik dan mis? Ik zit een beetje inde knoop omdat ik eerst van 1 tabel gegevens eruit moet halen, om dan in de volgende query te gebruiken.
Offline webstab - 25/06/2007 10:00 (laatste wijziging 25/06/2007 10:02)
Avatar van webstab PHP ver gevorderde
  1. <?php
  2. $select = mysql_query($select1) or die(mysql_error());
  3. $res = mysql_query($select2) or die(mysql_error());
Dan weet je wat er fout is. Dat is iets gemakkelijker.

Ik weet niet wat je wilt bereiken, maar volgens mij is je WHERE bij de tweede query volkomen verkeerd, je vergelijkt met niets.

Je doet trouwens ook beter die query's samen met JOINS of met WHERE ... IN (...)
Offline Mad_Mike - 25/06/2007 10:02
Avatar van Mad_Mike PHP beginner echo de tweede query eens ($select2) dan zie je waarschijnlijk al wat je niet goed doet...

tip: Je doet niets met het resultaat van de eerste query ($select)
Offline kilian - 25/06/2007 10:08
Avatar van kilian Lid
  1. $select1 = "SELECT * FROM wiedoetwat WHERE ".$id."=lidid";
  2. $select = mysql_query($select1) or die(mysql_error());
  3. $select2 = "SELECT * FROM wedstrijden WHERE $obj1->wedid=$select";
  4. $res = mysql_query($select2) or die(mysql_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 '=lidid' at line 1

wat doe ik mis?
Offline Mad_Mike - 25/06/2007 10:12
Avatar van Mad_Mike PHP beginner echo alle twee de querys eens; $select1 en $select2. Dan zul je zien wat er niet goed aan je query is.
Offline marten - 25/06/2007 10:14
Avatar van marten Beheerder select 1 de where omdraaien. Where lidid = $id
Offline webstab - 25/06/2007 10:17
Avatar van webstab PHP ver gevorderde Ik vermoed dat je dit wilt doen,
  1. <?php // kleurtjes
  2. $select2 = "SELECT * FROM wedstrijden WHERE wedid IN (SELECT * FROM wiedoetwat WHERE lidid=".$id.")";
  3. $res = mysql_query($select2) or die(mysql_error());

Geef anders een je structuur van je twee tabellen.

(De fout in de je eerste query is bij het WHERE-statement, dat moet omgedraaid zijn)
Offline Voldemort - 25/06/2007 10:21
Avatar van Voldemort PHP ver gevorderde
  1. if ($id=''){


==>

  1. if ($id == ''){


De eerst maakt van id een lege string, de tweede controleert of $id gelijk is aan '' (niks dus / leeg).

De fouten in je queries zijn in bovenstaande posts reeds gezegd.
Offline kilian - 25/06/2007 10:22 (laatste wijziging 25/06/2007 10:26)
Avatar van kilian Lid @ webstab
Kan jij even uitleggen wat je waarom doet? Zo snap ik het beter, en kan ik het later makkelijker zelf toepassen.

--edit--
Ik krijg de volgende error:
Operand should contain 1 column(s)
wat wordt daarmee bedoeld?
Offline webstab - 25/06/2007 19:07
Avatar van webstab PHP ver gevorderde Post anders eens de structuur van je database (enkel die twee tabellen) en zeg eens wat je wilt doen? Want die query van mij was een wilde gok...
Offline kilian - 26/06/2007 17:01
Avatar van kilian Lid sorry dat ik niet meer antwoorde, maar het internet lag er uit...

Ik heb intussen eens gezocht, en oplossing gevonden. Bedankt!
Offline Ultimatum - 26/06/2007 17:06
Avatar van Ultimatum PHP expert 1. Laat eens zien hoe je het hebt opgelost
2. Er is een knop uitgevonden..
Offline kilian - 26/06/2007 17:48
Avatar van kilian Lid 1. wel:
  1. $select2 = "select * from wedstrijden where id in (select wedid from wiedoetwat where lidid=".$id.")";
  2. $res = mysql_query($select2) or die(mysql_error());


Bij een IN mag je niet select * doen, maar moet je het specifieke deel slecteren

2. sorry
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.267s