webForumDet fria alternativet

Slänga resultset

2 svar · 163 visningar · startad av schutzer

schutzerMedlem sedan okt. 200019 inlägg
#1

Nu känner jag väldigt dum!

Jag ska bara hämta lite data från MySQL men jag har stött på problem.

Jag har en tabell som heter news som jag ibland vill anropa i två olika sql-satser på sidan men det vill inte riktigt fungera.

Så här har jag skrivit:

$query = "SELECT * FROM news WHERE id=1";
$result = @mysql_query($query) or die(createError("Kunde inte aktuell nyhet));
$row = @mysql_fetch_row($result) or die(createError("Kunde inte aktuell nyhet));
// Skriv ut nyheten
@mysql_free_result($result)

$query = "SELECT * FROM news ORDER BY datum DESC LIMIT 3";
$result = @mysql_query($query) or die(createError("Kunde inte hämta nyheterna."));
while ($row = @mysql_fetch_row($result)) {
// Skriv ut dem
}
@mysql_free_result($result2);

Problemet är att när jag kör den andra sql-satsen så börjar den räkna där den första slutade. Jag har temporärt löst det genom att använda ett annat resultset i andra delen men det känns inte som en korrekt lösning utan jag måste ha missat nått. Skriver man inte mysql_free_result?

schutzerMedlem sedan okt. 200019 inlägg
#2

Sista raden ska givetvis vara:

@mysql_free_result($result);
nanneMedlem sedan dec. 19991 749 inlägg
#3

Ta bort @ tecknen och skriv echo mysql_error(); längs ner och se om du får något fel eftersom det verkar som att den andra SQL satsen aldrig körs.

Jag gissar på att du ska byta plats på DESC och LIMIT 3

------------------

"Där ser du. De är synthare och inte scientologer..."

nanne.net

134 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)