Avatar billede Slettet bruger
01. februar 2010 - 09:34 Der er 6 kommentarer og
1 løsning

Problem med ORDER BY dato

Jeg skal have sat ORDER BY dato DESC ind, men kan ikke lige finde ud af hvor.. Som jeg har sat det ind her, så giver den fejl... Hvordan skal den rigtig syntax være her?

$result = mysql_query("SELECT * From nyheder ORDER BY dato DESC where kategori = '$_GET[cat]' LIMIT ".$start.", ".$limit."");
Avatar billede repox Seniormester
01. februar 2010 - 09:36 #1


$result = mysql_query("SELECT * From nyheder WHERE kategori = '".mysql_real_escape_string($_GET["cat"])."' ORDER BY dato DESC LIMIT ".$start.", ".$limit);

Avatar billede Slettet bruger
01. februar 2010 - 10:53 #2
Mange tak, det virker bare.

Hvad var det lige for en smart en du sat ind der?? Der kender jeg ikke lige... :-)

Bare smid svar.
Avatar billede laus0028 Nybegynder
01. februar 2010 - 10:53 #3
Da du oprettede din tabel, har du lavet det felt "dato" som en dato. Hvis ikke så tror MySQL at det er en string, også er det 1,2,3,4... som den sorterer efter..
Avatar billede repox Seniormester
01. februar 2010 - 10:57 #4
Du tænker på mysql_real_escape_string()?
Den sikrer (delvist) en større sikkerhed mod SQL injection, som din SQL statement var meget åben overfor.
Avatar billede Slettet bruger
01. februar 2010 - 11:16 #5
Okay, den har jeg aldrig brugt før.. vil du anbefale at smide den ind i alle SQL sætninger???
Avatar billede repox Seniormester
01. februar 2010 - 11:25 #6
Når du behandler input fra brugere SKAL du altid sanitere/validere dit input.

Alt hvad der kommer fra $_GET, $_POST, $_REQUEST bør gennemgås for skadeligt indhold.
Udgangspunktet skal være at dine brugere kun vil din applikation ondt, uanset hvor meget du stoler på dine brugere.

At rense sit input kan eksempelvis gøres med mysql_real_escape_string(), men der er også andre metoder, hvis det ikke kun er for databasen skyld man vil sikre sit input.
Avatar billede Slettet bruger
01. februar 2010 - 11:35 #7
Okay, det lyder jo ret fornuftigt.
Dvs. jeg kan rense det ved at spise det ind som du skriver, er det nok hver gang? Eller af hænger det af sætningen?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester