Nou, ik wil graag de laast geregistreerde user op mijn index laten zien.
Heb ik de volgende functie voor gebouwd, maar hij werkt niet 100%
Functie:

<?php //Hier niet opletten, is alleen voor de kleur
   Function getLastReg(){
   $q = "SELECT LAST(username) FROM users";
   $res = mysql_query($q, $this->connection) OR die(mysql_error ());
   return $res;
   }
?>


Hij geeft een leeg result aan.
Je vergeet dan ook om het resultaat te fetchen met bijvoorbeeld [php]mysql_fetch_assoc[/php]()...

ps. Of heb je dat soms in een ander deel van je script staan?

pps. Overigens zal die query ook niet het juiste resultaat opleveren. Het selecteren van de laatst geregistreerde gebruiker doe je door aflopend te sorteren op het tijdstip van registratie en dan het eerste record te selecteren:

SELECT
  username
FROM
  users
ORDER BY
  registratie_tijdstip DESC
LIMIT
  1
Blanche, mijn script zet automatisch de laast geregistreerde user op de laaste record. dus SELECT LAST zal wel werken.

En dankje over dat fetchen, was ik namelijk helemaal vergete :D
op de laaste record
En wat is jouw definitie van 'laatste record'. Ga maar eens een backup terug zetten, het laatste record zal dan ineens niet meer de laatst geregistreerde gebruiker bevatten.

De enige juiste manier om de laatst geregistreerde gebruiker te selecteren is het sorteren op tijdstip van registratie. Dat is de enige methode die je zekerheid over je resultaten geeft...
Dus hier komt uit dat je op de registreerdatum moet filteren. En als je dan met DESC (aflopend) in je sql een query draait en het laatste resultaat oppakt heb je dus de laatst geregistreerde gebruiker
DESC (oplopend)
DESC => Descending == Aflopend.

Oftewel, het record met de laatste registratiedatum zal het eerst in de resultaat set zitten. Als je dan met LIMIT de resultaatset beperkt tot 1 record, heb je per definitie het laatste record...
LIMIT hoeft niet eens
yorick17 schreef op 01.01.2009 17:22
LIMIT hoeft niet eens
Zekerheid! Zonder LIMIT haal je alle records op en moet je in PHP nog maar zien dat je het juiste record gebruikt. Selecteer je één enkel record, dan heb je in PHP ook meer 1 record om mee te werken.

Het verkleint de kans op bugs in je script en versnelt bovendien de query omdat er maar 1 record geselecteerd hoeft te worden. Wat is immers het nut om mogelijk een paar miljoen records op te halen als je er maar 1 nodig hebt?

Kortom, gebruik die LIMIT gewoon...
Blanche schreef op 01.01.2009 17:28
en versnelt bovendien de query omdat er maar 1 record geselecteerd hoeft te worden.


Zeg nu zelf, een query duurt vaak niet langer dan 0,1 sec.
Oh ja? En over hoeveel records hebben we het dan?

En bovendien, waarom 0,1 seconde wachten als het ook in 0,01 seconde kan? Een overdreven voorbeeldje: Voer 100 van dat soort queries uit en je hebt een script dat al 10 seconden de tijd nodig heeft om met de database te praten terwijl je het ook in 1 seconde af had kunnen handelen.
Je moet hier absoluut LIMIT gebruiken. Zonder LIMIT selecteer je een hele lijst met records en dat is volledig nutteloos. Een gemiddelde website die enigszins goed loopt heeft tienduizenden of honderdduizenden records in een tabel en dan moet je echt nooit een query zonder LIMIT doen.

Reageren