Autor | Zpráva | ||
---|---|---|---|
kolemjdouci Profil * |
#1 · Zasláno: 11. 10. 2017, 05:37:04
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 |
#2 · Zasláno: 11. 10. 2017, 06:22:17
zkus pouzit jen ==
co zobrazi echo $dotaz->rowCount() ? |
||
Kajman Profil |
#3 · Zasláno: 11. 10. 2017, 08:06:41
kolemjdouci:
V návodu píší, že pro SELECTy to podporují jen některé databáze. |
||
M4n Profil * |
#4 · Zasláno: 11. 10. 2017, 09:54:34
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 * |
#5 · Zasláno: 11. 10. 2017, 15:34:10
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 * |
#6 · Zasláno: 11. 10. 2017, 16:21:30
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. |
||
Časová prodleva: 7 let
|
0