<?
$select = "SELECT * FROM users ORDER BY naam ASC WHERE country = '".$country."'";
?>
Wat is er fout aan deze query?
Het is niet een error, maar hij weergeeft de users niet :S hij zegt dat er geen users zijn
waar haal je $country vandaan?

moet de where clause niet voor de order by?
probeer het eens
WHERE moet inderdaad vóór ORDER BY.

MySQL hoort hier wel degelijk een fout op te geven, want het is een syntax error, maar waarschijnlijk wordt mysql_query() niet afgevangen met trigger_error().
@ Erik: inderdaad

$select = "
SELECT *
FROM users
WHERE country = '" . $country . "'
ORDER BY naam ASC";

Tips:
- altijd mysql_error () gebruiken
- geen * gebruiken tenzij je echt alle velden wilt
- echo je query naar het scherm ter controle
@ Jan

stel: we namen jou query.
als ik dan echo $select; zou doen krijg ik meestal iets van #recource id 7 oid.

doe ik het dan fout of??
Jij hebt hem dan waarschijnlijk al in de mysql_query gegooid.

edit:
dus jij hebt dan niet
$query = "SELECT * ......."
echo $query;

maar
$query = mysql_query("SELECT * .......");
echo $query;

dan krijg je inderdaad iets van #recource id 7
Erik schreef op 24.01.2006 11:46
waar haal je $country vandaan?


Als $country leeg zou zijn, dan zou er nog geen error ontstaan, maar dan zou hij gewoon 0 records vinden.

Of bedoelde je dat ook :)
@ Erik

zie Barman's post. Naamgeving kan veel verduidelijken. Voor een query gebruik ik altijd $sql. Voor het resultaat van mysql_query altijd $res.
of nog beter al daarvoor zetten wat je eigenlijk wil doen bijv

$gebruikers_sql ..
$gebruikers_res ..
while ($gebruikers_row = ..

--

$ipadres_sql ..
$ipadres_res ..
while ($ipadres_row = ..
Jan Koehoorn schreef op 24.01.2006 12:42
@ Erik

zie Barman's post. Naamgeving kan veel verduidelijken. Voor een query gebruik ik altijd $sql. Voor het resultaat van mysql_query altijd $res.


Dat van mij was wat duidelijker om in een voorbeeld te gebruiken.
Ik gebruik dat ook altijd $sql en $result
wes schreef op 24.01.2006 12:47
of nog beter al daarvoor zetten wat je eigenlijk wil doen bijv

$gebruikers_sql ..
$gebruikers_res ..
while ($gebruikers_row = ..

--

$ipadres_sql ..
$ipadres_res ..
while ($ipadres_row = ..


Dit is niet nodig. Dit levert alleen maar ongedefinieerde variabelen op. Tevens is dit niet bevordelijk voor je geheugen. Ja ik ben een zeikerd :)

Alleen bij een loop in een loop is het verstandig om een andere benaming te geven, zodat ze de resultaten van elkaar niet overnemen.

Reageren