Autor | Zpráva | ||
---|---|---|---|
Martin02 Profil |
#1 · Zasláno: 28. 1. 2013, 20:17:44
Ahoj, chci se zeptat, proč mi toto normálně funguje?
$result = mysql_query("SELECT * FROM web_pages"); while($r = mysql_fetch_assoc($result)) { echo 'a'; } A toto se mi zacyklí? while($r = mysql_fetch_assoc(mysql_query("SELECT * FROM web_pages"))) { echo 'a'; } V podstatě jdeo úplně ten samý kód.. Děkuji |
||
Joker Profil |
#2 · Zasláno: 28. 1. 2013, 20:19:08
Martin02:
Protože ten cyklus pokaždé načte jenom první řádek. (V každém cyklu se znovu provede ten dotaz a načte první řádek. A tak pořád dokola.) |
||
Monkeys Profil * |
#3 · Zasláno: 28. 1. 2013, 23:19:43
Martin02:
Tiez som raz omylom spravil tuto chybu a vysledok bol ze sa mi zamkla cela databaza a musel som restartovat pc. M. |
||
Alphard Profil |
#4 · Zasláno: 29. 1. 2013, 00:42:15
Joker [#2] nezdůraznil příčinu. Výsledek navrácený mysql_query() v tomto případě není jednoduchý skalár, pak by skutečně oba kódy v [#1] byly ekvivalentní, ale resultset, který si lze přibližně představit jako pole, nad kterým lze konečně iterovat.
Podobně pro pole: $array = range(1, 10); while (list($key, $value) = each($array)) echo $value; while (list($key, $value) = each(range(1, 10))) echo $value; Kromě toho nedoporučuji pracovat s mysql_query(), je deprecated a v dalších verzích bude zrušeno, vyberte si jinou extenzi. |
||
peta Profil |
$result = mysql_query("SELECT * FROM web_pages"); // vytahni data z mysql 1x while($r = mysql_fetch_assoc($result)) { // vytahni z $result radek, opakuj, dokud mas radek echo 'a'; } while($r = mysql_fetch_assoc(mysql_query("SELECT * FROM web_pages"))) { echo 'a'; } //opakuj (vytahni radek (vytahni z mysql)) // cili z mysql vytahnes data, z toho vytahnes prvni radek a pak to cele zopakujes, pozadas o vsechny radky a vytahnes prvni z nich a tak porad dokola. |
||
Martin02 Profil |
#6 · Zasláno: 29. 1. 2013, 16:27:12
peta:
Konečně, díky tobě jsem to pochopil. Díky moc. Alphard: A co jiného bych měl používat místo mysql_query ?
|
||
pcmanik Profil |
#7 · Zasláno: 29. 1. 2013, 17:16:09
Martin02:
Extenziu mysqli. |
||
Monkeys Profil * |
#8 · Zasláno: 29. 1. 2013, 18:09:29
pcmanik:
Alebo PDO |
||
Časová prodleva: 11 let
|
0