Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result

deze foutmelding krijg ik, mijn code is als volgt:

<?php
$query = "
SELECT
t1.aanvraag,
t1.aan_aanvraagdatum,
t1.aan_gewensteopleverdatum,
t1.aan_urgentie,
t1.aan_soort,
t1.aan_onderwerp,
t1.aan_na,
t1.aan_verwachteuren,
t1.aan_echteurenschrijver,
t1.aan_urencontroleur,
t1.aan_datumgereed,
t1.aan_opmerking,
t2.docent,
t3.opleiding2aanvraag
FROM
aanvraag AS t1,
docent AS t2,
opleiding2aanvraag AS t3
WHERE id='47'
t1.aan_aanvraagid = t3.o2a_opleidingid
AND
t1.aan_aanvragerid = t2.doc_docentid
AND
t1.aan_schrijverid = t2.doc_docentid
AND
t1.aan_controleurid = t2.doc_docentid
";

$db=mysql_connect($host, $username) or die($fout);
mysql_select_db($dbnaam, $db) or die($fout);
$result = mysql_query($query);

while (list($aan_aanvraagid,
$aan_aanvraagdatum,
$doc_docent,
$aan_gewensteopleverdatum,
$aan_urgentie,
$doc_docent,
$doc_docent,
$aan_soort,
$aan_onderwerp,
$aan_na,
$aan_verwachteuren,
$aan_echteurenschrijver,
$aan_urencontroleur,
$aan_datumgereed,
$aan_opmerking) = mysql_fetch_row($result)){

echo("<tr><td>$aan_aanvraagdatum</td></tr><br>
<tr><td>$doc_docent</td></tr><br>
<tr><td>$aan_gewensteopleverdatum</td></tr><br>
<tr><td>$aan_urgentie</td></tr><br>
<tr><td>$doc_docent</td></tr><br>
<tr><td>$doc_docent</td></tr><br>
<tr><td>$aan_soort</td></tr><br>
<tr><td>$aan_onderwerp</td></tr><br>
<tr><td>$aan_na</td></tr><br>
<tr><td>$aan_verwachteuren</td></tr><br>
<tr><td>$aan_echteurenschrijver</td></tr><br>
<tr><td>$aan_urencontroleur</td></tr><br>
<tr><td>$aan_datumgereed</td></tr><br>
<tr><td>$aan_opmerking</td></tr>\n");
}
?>

Kan iemand mij vertellen wat hier fout aan is?
WHERE id='47';

met de ; sluit je de query af

laat deze dus weg ;-)
WHERE id='47';

Volgensmij moet je de punt-komma daar weghalen iig.
ja je hebt gelijk, was niet zo slim maar ik krijg nog steeds dezelfde fout
$result = mysql_query($query) or die ('Fout in query: '.mysql_error());

Gebruik hier ook foutafhandeling....

Verder gebruik je een foutafhandeling met $fout, ik zou daar ook mysql_error() gebruiken, dan krijg je ook fouten uit je query te zien.
Daarna houd ik dit over:

Fout in query: 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 't1.aan_aanvraagid = t3.o2a_opleidingid AND t1.aan_aanvragerid = t2.doc_do' at line 21
WHERE id='47'

welke id? van welke tabel?
daarna moet je ook nog AND doen.
ik zal het even goed proberen uit te leggen:

1 tabel (aanvraag) met daarin alle velden die in een record voorkomen met o.a. de velden aan_aanvragerid, aan_schrijverid, aan_controleurid.

deze id's zijn gelinkt aan de tabel docent, in die tabel staat doc_docentid en doc_docent.

een tabel opleiding met daarin opleidingid en opleiding, daarnaast heb ik nog de tussentabel opleiding2aanvraag omdat er meerdere opleidingen mogelijk zijn voor 1 record. hierin staat o2a_aanvraagid en o2a_opleidingid. Ik weet ook niet zeker of ik de query goed heb geschreven want ben namelijk nog niet zo heel bekend met koppeltabellen
Je moet de table nog specificeren bij WHERE id= 47 waarschijnlijk WHERE t1.id= 47
t1.aan_aanvraagid zou dat moeten zijn dan, heb ik even gedaan maar krijg deze foutmelding nog steeds:

Fout in query: 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 't1.aan_aanvraagid = t3.opl_opleidingid AND t1.aan_aanvragerid = t2.doc_do' at line 22
WHERE id='47'
t1.aan_aanvraagid = t3.o2a_opleidingid
AND

Daar mist een AND

WHERE t1.aan_aanvraagid =47
AND
t1.aan_aanvraagid = t3.o2a_opleidingid

de rest van je QUERY

Reageren