Door
racoon smasher
op 18-04-2014 16:59
gewijzigd op 18-04-2014 17:05
2.969 views
Het lukt me maar niet om 3 tabellen te pakken en de nodige informatie eruit te halen
Deze query werkt niet bij mij:
SELECT * FROM companies,
relationship_managers,
linkbuilding
WHERE relationship_managers.rm_id = companies.rm_id
AND linkbuilding.c_id = companies.c_id
AND c_invisibility = 0
AND y_id = YEAR() /* y_id is bijvoorbeeld 2013 of 2014 en ik wil dat die alleen tabellen van dit jaar weergeeft */
ORDER BY c_id DESC
Weet iemand hoe ik het beter kan doen?
ik krijg namelijk een foutmelding:
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\wamp\www\linkbuilding\beta\check.php on line 19
Dat kan NOOIT hebben gewerkt, NOOIT!
mysql_fetch_array heeft een resource nodig die je krijgt uit de mysql_query functie. Als je een string geeft krijg je de fout die je zag.
Uit jouw code (zonder wat code die hiervoor even niet van belang is):
$querySelect is een string, niet anders.
$rResult is de resource die je krijgt van mysql_query en daarin zit de link naar de resultaten
Je geeft nu in de fetch functie $querySelect mee, maar het moet $rResult zijn.
Dat kan NOOIT hebben gewerkt, NOOIT!
mysql_fetch_array heeft een resource nodig die je krijgt uit de mysql_query functie. Als je een string geeft krijg je de fout die je zag.
Uit jouw code (zonder wat code die hiervoor even niet van belang is):
$querySelect is een string, niet anders.
$rResult is de resource die je krijgt van mysql_query en daarin zit de link naar de resultaten
Je geeft nu in de fetch functie $querySelect mee, maar het moet $rResult zijn.
Dat is altijd zo geweest en zal altijd zo zijn!
Zonder die fouthandeling werkte hij wel, maar hoe zou ik het beter kunnen doen dan? die fetch weghalen?
Nee, want die selecteer je ook niet in je query... (zie SELECT clause).
En ja, dat werkte altijd, want met SELECT * krijg je alles. Zoals je het nu (goed) doet zal je dus alle kolommen die je gebruikt ook moeten benoemen in de SELECT clause. Dus ook rm_firstname en rm_surname.
Nee, want die selecteer je ook niet in je query... (zie SELECT clause).
En ja, dat werkte altijd, want met SELECT * krijg je alles. Zoals je het nu (goed) doet zal je dus alle kolommen die je gebruikt ook moeten benoemen in de SELECT clause. Dus ook rm_firstname en rm_surname.