Der mangler en række i resultatsættet??
Dette er mig en gåde:Jeg har en database, hvor denne query burde resultere i 4 rækker med resultater, eftersom der er 4 hold, der har kategori_id = 4:
-------------------
$strSQL="SELECT * FROM us_hold WHERE us_hold.kategori_id = 1";
$result = executeSQL($strSQL);
while($data = mysql_fetch_array($result) {
// Skriv resultaterne
}
---------------------
Men af en eller anden grund bliver den sidste række altid udeladt. Hvis jeg "snyder" lidt og gør som følger, fungerer det:
-----------------------
//samme $strSQL som før
$result = executeSQL($strSQL);
$rows = mysql_num_rows($result);
for ($i=-1; $i<$rows;$i++) {
$data = mysql_fetch_array($result);
// Skriv resultaterne
}
---------------------------
Min barnelærdom siger mig, at man plejer at sætte $i til 0 ved første iteration, men jeg er nødt til at gøre det som ovenfor og sætte den til -1. Hvad der gør det endnu mere sært er, at hvis jeg indtaster den dersens query ($strSQL) direkte i phpMyAdmin, får jeg alle 4 rækker korrekt vist.
Som sagt har jeg løst problemet ved at sætte $i til -1, men det virker kraftedeme da bøvet, at jeg ikke bare kan bruge en while-løkke, ligesom jeg plejer.
Til de interesserede kan jeg sige, at ovenstående selvfølgelig er en stærkt nedkogt udgave af den "rigtige" query, idet der sføli er mange forskellige kategori_id'er, men efter lang tid har jeg sporet problemet til at ligge her.
Anyone?!?