Autor Zpráva
kolemjdouci
Profil *
Ahoj, zkouším všechno možné včetně google a nejde mi složit kód, který by vypsal nějakou hlášku, když dotaz do databáze nic nevrátí.

Zkouším
if ($dotaz->rowCount() === 0) {echo "nic";}

a všechno možný i nemožný co jsem našel různě po webu. :(

Máte nějaký trik, kromě vložení vše do proměnné, to se mi zdá, že moc zatěžuje paměť.
Taps
Profil
zkus pouzit jen ==

co zobrazi echo $dotaz->rowCount() ?
Kajman
Profil
kolemjdouci:
V návodu píší, že pro SELECTy to podporují jen některé databáze.
M4n
Profil *
kolemjdouci:
Neukázal jsi žádný kód. Nevíme, co obsahuje proměnná $dotaz. Nevíme, jestli byl PDOStatement vykonán nebo ne. Nevíme nad jakou databází. Nevíme s jakým SQL dotazem. Nevíme nic. PDOStatement::rowCount vrací počet ovlivněných řádů, což u SELECTU nemá smysl (i když někdy funguje).

kromě vložení vše do proměnné, to se mi zdá, že moc zatěžuje paměť.
To se ti opravdu zdá. Stejně s výsledkem budeš pracovat – je nějaký problém před tím ověřit, kolik prvků obsahuje (nebo není false).
kolemjdouci
Profil *
Taps:[/pre]
Děkuju, funguje mi if ($dotaz->fetchColumn() > 0),

Kajman:
ale kupodivu už i rowCount funguje.

M4n:
Proč myslíš, že se nezaplní paměť 2x víc, když udělám něco jako
$vystup .= $neco['jedna'].$neco['dva'].$neco['tri'].$neco['ctyri'];

S výsledkem sice pracuji, tak jako tak, ale tohle tu paměť zaplní dvakrát, nebo se mi to opravdu zdá?
M4n
Profil *
Ověření velikost/délky něčeho nezaplní žádnou paměť.

Ale těžko ti radit, nevím co obsahuje proměnná $dotaz, ani k čemu ji používáš. Radši bys měl trochu vypilovat své chatrné znalosti PHP.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: