Hei!
Minulla tuli ongelmia haku kyselyn kanssa. Kysely toimii kun olen kirjautunut omalla tunnuksella, mutta ei toimi jos olen kirjautuneena jollain toisella tunnuksella.
$kysely = $yhteys->prepare("SELECT * FROM saalistilanne WHERE YEAR(paivamaara) = ?"); $kysely->execute(array($kausi)); while($tulosr = $kysely->fetch()){ ... }
Tuolla whilen sisällä on yksi kohta, joka käsitellään vain, jos käyttäjän titteli on Admin. Kysely tällaisenaan ei hae mitään kannasta kun olen jollain toisella käyttäjällä, mun käyttäjällä hakee, mutta kun otan ton kohdan pois, niin se pelaa myös muilla käyttäjillä:
WHERE YEAR(paivamaara) = ?
Missähän mahtaa olla vika?
PS. sori sekava selitys.
No ei se vika ainakaan tuossa näkyvässä osassa ole, kai sen nyt omakin järkesi sanoo.
Tässä koko kysely.
$kysely = $yhteys->prepare("SELECT * FROM saalistilanne WHERE YEAR(paivamaara) = ?"); $kysely->execute(array($kausi)); while($tulos = $kysely->fetch()){ $kaataja = htmlspecialchars($tulos['kaataja']); $pm = $tulos['paivamaara']; $paikka = htmlspecialchars($tulos['paikka']); $elain = htmlspecialchars($tulos['elain']); $id = $tulos['id']; $pm = preg_replace("/\-/", ".", $pm); $taulukko = explode(".", $pm); $paivamaara = $taulukko[2] . "." . $taulukko[1] . "." . $taulukko[0]; if($titteli == "Admin"){ $poista = "<td> <form action=\"Muokkaa\" method=\"POST\"> <input type=\"hidden\" name=\"x\" value=\"poista\"> <input type=\"hidden\" name=\"id\" value=\"$id\"> <input type=\"submit\" onclick=\"javascript:return window.confirm ('Haluatko varmasi poistaa?');\" value=\"Poista\"></form></td>"; $muokkaa = " <td><form action=\"Muokkaa\" method=\"POST\"> <input type=\"hidden\" name=\"x\" value=\"muokkaa\"> <input type=\"hidden\" name=\"id\" value=\"$id\"> <input type=\"submit\" value=\"Muokkaa\"> </form> </td>"; } echo " <tr>$poista <td>$paivamaara</td><td> $elain</td><td> $paikka</td><td> $kaataja</td>$muokkaa</tr> "; }
Kyllähän tuon pitäisi jotain tulostaa (vaikka muuttujat $poista ja $muokkaa jäävätkin alustamatta; kannattaisi kyllä alustaa ne tyhjiksi). Oletko tutkinut edes, päästäänkö koodissa tuohon asti muilla käyttäjillä?
Okei. Kyselyn ja while:n väliin vielä tulostuu, mutta ei itse whileen. Whilen jälkeenkin tulostuu.
vehkis91 kirjoitti:
Toimisko sitte?
Väittäisin että huonommin.
Mitä ilmeisimmin saat siis eri tuloksen kyselystä eri tilanteissa. Tulosta seuraavaksi $kausi-muuttujan arvo tuossa ja muualla ja ihmettele, miksi se on väärin. (Perusjuttuja, voisit nyt vähän itsekin yrittää!) Ovathan PHP:n virheilmoitukset varmasti käytössä?
Aihe on jo aika vanha, joten et voi enää vastata siihen.