Fout in query?
Code (php)
1
2
3
2
3
<?
$select = "SELECT * FROM users ORDER BY naam ASC WHERE country = '".$country."'";
?>
$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
moet de where clause niet voor de order by?
probeer het eens
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().
$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
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??
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
Gewijzigd op 24/01/2006 12:20:00 door Barman V
Erik:
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 :)
zie Barman's post. Naamgeving kan veel verduidelijken. Voor een query gebruik ik altijd $sql. Voor het resultaat van mysql_query altijd $res.
$gebruikers_sql ..
$gebruikers_res ..
while ($gebruikers_row = ..
--
$ipadres_sql ..
$ipadres_res ..
while ($ipadres_row = ..
Jan:
@ Erik
zie Barman's post. Naamgeving kan veel verduidelijken. Voor een query gebruik ik altijd $sql. Voor het resultaat van mysql_query altijd $res.
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:
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 = ..
$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.
daar gaat het om, dit is puur ff de benaming, als jij 8 queries in mekaar hebt hangen, kan is een beetje duidelijkheid wel handig :)
bedankt, toch weer wat geleerd :)
ja maarja erik dat kan niet altijd, kom het vaak zat tegen dat ik querys moet switchen of genereren, dan wil ik hier liever overzichtelijk houden