Vypis z DB a jedna podminka ktera nefacha

Taham si z DB naky veci a potrebuju urcit podminku kdyz to pole bude prazdny at to hodi echo .. nevim proc to nejde zkousel sem toto ..

a) if (!$tym) {echo "zadny zaznam";}

else {
echo $img . $tym;
}

b) to same s ISSET a taky nic ..nechapu celej skript je takto

####


$query = "select * from tabulka where id=$id";
$result = mysql_query ($query) or die ("sql dotaz nevykonán");


while ($row = mysql_fetch_array($result)) {
$tym = $row['tym'];

if (!$tym) {echo "zadny zaznam";}

else {
echo $tym;
}
}


takze co s tim?
empty()?
empty asi ne ... to je opak ISSET ..takze je jedno jakou fci pouziju ... Neni tam nejaka logicka chyba?
No to právě ne. Isset zjišťuje přítomnost proměnné v paměti. empty se podívá jestli je v paměti a jeslti je v ní něco jiného jak 0, "", nebo nenastaveno. Což je podle mě tvůj případ.
V momentě $a=$cosi; bude vždycky $a přes isset přitomná. empty bude zjištovat její obsah. Ještě mě napadá jestli třeba $row['cosi'] v případě nevyplněného sloupečku typu char(3) nevrátí " " - tedy tři mezery. To by pak se zjišťováním empty taky nevyšlo. Takže by bylo třeba před porovnáním udělat nějaký ten trim(), chop(), chomp() nebo tak něco.