Autor | Zpráva | ||
---|---|---|---|
Milan1236000 Profil |
#1 · Zasláno: 22. 11. 2015, 23:30:59
Zdravím,
mám následující dotaz do databáze: <?php ... $vysledek_interpret = $vysledek->query(" SELECT `x`.Interpret, `x`.Url FROM `y` JOIN `x` ON `y`.Interpret_ID=`x`.Id WHERE `y`.Url=\"$getURL\" "); $zaznam_interpret = $vysledek_interpret->fetch_object(); ... ?> ... Interpret: <?php if($zaznam_interpret->Interpret_ID>0) printf("<a href=\"/interpreti.php?interpret=%s\">%s</a>", $zaznam_interpret->Url, $zaznam_interpret->Interpret); ?> Díky. |
||
Alphard Profil |
#2 · Zasláno: 22. 11. 2015, 23:46:44
Null neznamená 0 , značí neznámou hodnotu, která by se do PHP měla přenést jako prázdný řetězec. Avšak po přetypování na číslo by tam opradu měla být nula a ta podmínka by fungovat měla.
Doporučuji pomocí var_dump vypsat, co ta proměnná skutečně obsahuje. |
||
Kajman Profil |
V dotaze sloupec Interpret_ID nevypisujete.
|
||
Milan1236000 Profil |
#4 · Zasláno: 24. 11. 2015, 00:49:32
Alphard:
Zkusil jsem tedy: Interpret: <?php $i=var_dump($zaznam_interpret->Interpret_ID); if ($i=="null") echo "chybí"; else echo "je"; ?> Kajman: Jak tedy mám jinak dostat hodnotu ze sloupce Interpret_ID místo $zaznam_interpret->Interpret_ID ?
Díky. |
||
tiso Profil |
#5 · Zasláno: 24. 11. 2015, 00:53:55
Milan1236000: „Jak tedy mám jinak dostat hodnotu ze sloupce Interpret_ID“
Najskôr ju musíš vybrať z databázy: SELECT `x`.Interpret, `x`.Url, `y`.Interpret_ID... |
||
Milan1236000 Profil |
tiso:
Díky, už jsem to tam přidal, nyní se na stránku vypisuje např. string '15' (length=2) a daný interpret. Pokud interpret není, na stránku se i přes podmínku snaží interpret vypsat a objeví se Notice: Trying to get property of non-object in.... Předělal jsem to proto trochu do podoby: Interpret: <?php $i=$zaznam_interpret->Interpret_ID; if (is_null($i)) echo "chybí"; else echo "je"; ?> |
||
Kajman Profil |
Pokud ten dotaz má vrátit i řádky bez možného spojení s tabulkou x, použijte vnější spojení, tedy v tomto případě použijte
y LEFT JOIN x .
|
||
Milan1236000 Profil |
#8 · Zasláno: 24. 11. 2015, 14:04:39
Kajman:
Tak bohužel ani LEFT nepomohlo, pořád se zobrazuje Notice: Trying to get property of non-object in... .
|
||
Kajman Profil |
#9 · Zasláno: 24. 11. 2015, 14:16:56
Kontrolujte si, zda db vrátila nějaký řádek. Např.
if(zaznam_interpret = $vysledek_interpret->fetch_object()) { echo 'v zaznam_interpret je objekt a muzu s prvnim radkem pracovat' } |
||
Milan1236000 Profil |
Kajman:
Nakopíroval jsem na stránku kod: if($zaznam_interpret = $vysledek_interpret->fetch_object()) echo 'v zaznam_interpret je objekt a muzu s prvnim radkem pracovat '; ___ Tohle se zobrazovalo jen u pár stránek, chybu jsem měl v databázi. V URL jsem měl neplatný znak, proto to nešlo. Vše už jde. Ještě jednou díky moc. |
||
Časová prodleva: 8 let
|
0