Fout in query?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

24/01/2006 11:42:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
$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
 
PHP hulp

PHP hulp

16/01/2025 08:40:15
 
Erik Rijk

Erik Rijk

24/01/2006 11:46:00
Quote Anchor link
waar haal je $country vandaan?

moet de where clause niet voor de order by?
probeer het eens
 
Willem vp

Willem vp

24/01/2006 11:56:00
Quote Anchor link
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().
 
Jan Koehoorn

Jan Koehoorn

24/01/2006 11:57:00
Quote Anchor link
@ 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
 
Erik Rijk

Erik Rijk

24/01/2006 12:11:00
Quote Anchor link
@ 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??
 
Barman V

Barman V

24/01/2006 12:18:00
Quote Anchor link
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
Gewijzigd op 24/01/2006 12:20:00 door Barman V
 
Barman V

Barman V

24/01/2006 12:23:00
Quote Anchor link
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 :)
 
Jan Koehoorn

Jan Koehoorn

24/01/2006 12:42:00
Quote Anchor link
@ Erik

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

- wes -

24/01/2006 12:47:00
Quote Anchor link
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 = ..
 
Barman V

Barman V

24/01/2006 12:47:00
Quote Anchor link
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.


Dat van mij was wat duidelijker om in een voorbeeld te gebruiken.
Ik gebruik dat ook altijd $sql en $result
 
Barman V

Barman V

24/01/2006 12:50:00
Quote Anchor link
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 = ..


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.
 
- wes  -

- wes -

24/01/2006 12:52:00
Quote Anchor link
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 :)
 
Erik Rijk

Erik Rijk

24/01/2006 13:10:00
Quote Anchor link
hehe ja ik doe altijd $sql = mysql_query(" ...

bedankt, toch weer wat geleerd :)
 
- wes  -

- wes -

24/01/2006 13:13:00
Quote Anchor link
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
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.