Autor | Zpráva | ||
---|---|---|---|
wrestler Profil |
#1 · Zasláno: 4. 8. 2008, 14:39:21 · Upravil/a: wrestler
Vytvářím zrovna anketu a došel jsem k zajímavému problému (podařilo se mi ho již vyřešit), který bych vám chtěl představit. Jednotlivé položky ankety jsem tahal z databáze a pomocí dotazu je chtěl vypsat. Nicméně když jsem v kódu měl
while($row = @mysql_fetch_assoc(@mysql_query("SELECT id, hodnota FROM ankety WHERE cislo_ankety = '$cislo_ankety' AND typ = 'odp'", $spoj))){ ... //zpracování } Nicméně když jsem dotaz dosadil do proměnné a kód upravil na následující podobu: $polozky_dotaz = @mysql_query("SELECT id, hodnota FROM ankety WHERE cislo_ankety = '$cislo_ankety' AND typ = 'odp'", $spoj); while($row = @mysql_fetch_assoc($polozky_dotaz)){ ... } Víte někdo, čím to je? Jestli ano, mohli byste mi to vysvětlit? Díky |
||
Alphard Profil |
#2 · Zasláno: 4. 8. 2008, 14:43:22
„Víte někdo, čím to je?“
ano „Jestli ano, mohli byste mi to vysvětlit?“ vždyť jsi neustále v cyklu opakoval dotaz a zpracovával první vrácený záznam, jinak to nemohlo dopadnout... |
||
nightfish Profil |
#3 · Zasláno: 4. 8. 2008, 14:43:28
„Víte někdo, čím to je? Jestli ano, mohli byste mi to vysvětlit?“
při každém vyhodnocení podmínky cyklu while se ten dotaz provedl znovu, a tedy mysql_fetch_assoc vracel pořád první řádek výsledku dotazu jinak doporučuji vyházet všechny ty zavináče a chyby ošetřovat... např. $polozky_dotaz = mysql_query($q = "SELECT..."); if (!$polozky_dotaz) { echo "Došlo k chybě při provádění dotazu: $q<br>".mysql_error(); } else { while ($row = mysql_fetch_assoc($polozky_dotaz)) { ... } } (a na produkčním serveru samozřejmě nastavit display_errors na off) |
||
Časová prodleva: 16 let
|
0