login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Geneste queries

Offline arneman - 08/05/2009 17:45
Avatar van arnemanNieuw lid Gebruik van onderstaand code geeft me de volgende fout

Citaat:
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:xampphtdocscvscripts.php on line 223


Wie kan me zeggen waar dit aan ligt?

Dit is de code

Plaatscode: 136408

11 antwoorden

Gesponsorde links
Offline Wim - 08/05/2009 17:48 (laatste wijziging 08/05/2009 17:49)
Avatar van Wim Crew algemeen welke lijn is lijn 223?

Misschien moet je ook even naar "Joins" kijken, er staan enkele tutorials op deze website..

//edit:
Lijn 13 daar gebruik je $s ipv $sl
Offline Joost - 08/05/2009 17:48
Avatar van Joost PHP expert Nou, bij een van mysql_fetch_assoc geef je geen geldige resource in van een mysql_query..
Probeer eens te debuggen met or die(mysql_error());  
Offline Koen - 08/05/2009 17:48
Avatar van Koen PHP expert Kan je niet beter met joins werken?
Offline arneman - 08/05/2009 17:54 (laatste wijziging 08/05/2009 17:58)
Avatar van arneman Nieuw lid Als ik or die(mysql_error()); toevoeg krijg ik

'Query was empty' terwijl ik er zeker van ben dat mijn tabellen vol staan.

EDIT: Ik heb net de queries één voor één ingevoerd in PHPMyAdmin en dat werkte wel. Ik heb de code aangepast naar dit:

Plaatscode: 136409
Offline Wim - 08/05/2009 18:28
Avatar van Wim Crew algemeen lijn 8: $r = mysql_query($s)or die (mysql_error());

je hebt helemaal geen $s.
Op lijn 13 ga je ook de mist in:
$r1 = mysql_query($s);

Deze fouten kan je makkelijk voorkomen door je variabelen een duidelijke naam te geven en niet een niets-zeggend lettertje...
Offline Martijn - 08/05/2009 18:43
Avatar van Martijn Crew PHP "query was empty error" komt niet als je db leeg is, maar als de query leeg is, zoals dit:

  1. mysql_query("");
Offline shibble - 08/05/2009 18:51
Avatar van shibble MySQL interesse moest je niet met mysql queries double qoutes gebruiken ? "

dus $blaat = "hierdequery"; inplaats $blaat = 'hierdequery';
Offline Joost - 08/05/2009 19:05
Avatar van Joost PHP expert
shibble schreef:
moest je niet met mysql queries double qoutes gebruiken ? "

dus $blaat = "hierdequery"; inplaats $blaat = 'hierdequery';
Nee, dat maakt niet uit Je zult ze dan alleen anders moeten escapen...
Offline djb - 09/05/2009 00:14 (laatste wijziging 09/05/2009 00:17)
Avatar van djb PHP beginner Regel 13 is de boosdoener (denk ik)

regel 13: $r1 = mysql_query($s);
$s moet $ql zijn  

Volgens mij had je dat al geprobeerd nietwaar?

--- EDIT ---

http://www.plaatscode.be/136418/

je code even verbeterd,,

En idd, verander die variable naar een normaal leesbaar/logies iets 
$r, $r1, $s enzo zijn niet echt leesbaar/logies
$query_userupdate is al veel logieser bijvoorbeeld ;) of $array_maanden  
Offline ThAlmighty - 09/05/2009 00:32 (laatste wijziging 09/05/2009 00:36)
Avatar van ThAlmighty HTML beginner uit ervaring weet ik dat als je een fetch_assoc loop in een fetch_assoc loop gebruikt, dat dit altijd problematisch is. Veel beter kan je de SQL herschrijven met joins, of for loopjes gebruiken.

Edit: ik zie dat je er zelf 3 gebruikt  
Edit2: Je kan ook je script herschrijven zodat de while loopjes niet genest zitten, maar in serie staan.
Offline Koen - 09/05/2009 00:48
Avatar van Koen PHP expert De oplossing van het probleem staat al in de eerste reactie... wat zitten jullie dan nog te zeggen over lege queries en dubbele quotes? :O

Wanneer een niet-bestaande var wordt gebruikt in een query krijg je inderdaad die "Query was empty" error.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.473s