Autor | Zpráva | ||
---|---|---|---|
hej? Profil * |
#1 · Zasláno: 19. 8. 2008, 15:33:09
Zdravím všechny potřebuji se zeptat kde je chyba stále mi to píše:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /www/news.php on line 20 <?php require("nastaveni.php"); if (!$cc) { $pocet=$_GET["pocet"]; if (!$pocet) $pocet=0; $zjisteni=mysql_query("select count(id) FROM novinky"); $poradi=mysql_fetch_array($zjisteni); $poradi=$poradi[0]; $select=mysql_query("select * from novinky order by id DESC LIMIT $pocet,$max") or DIE("Nepovedl se select na Databazi!"); echo '<h3>Aktuality</h3>'; echo '<table border=1>'; while($r=mysql_fetch_array($select)) { $cc=$r[id]; $nadpis=$r[nadpis]; $datum=$r[datum]; $vlozil=$r[vlozil]; $cely=$r[cely_text]; $uryvek=$r[uryvek]; if ($cely) $nadpis="<a href='?cc=$cc'>$nadpis</a>"; echo " <tr> <td>$nadpis</td><td>$datum, $vlozil</td> </tr> <tr> <td colspan=2>$uryvek</td> </tr> "; } echo '</table>'; Nevíte proč to nejde??? Díky |
||
Nox Profil |
#2 · Zasláno: 19. 8. 2008, 15:37:18
V tabulce novinky není žádný záznam
Navíc $poradi=$poradi[0]; je docela nekorektní operace, navíc to celé můžeš provést prostě přes $pocet=@mysql_result(mysql_query("select count(id) from novinky"),0); Možná by šlo ještě pomocí or ošetřit když bude 0 záznamů |
||
hej? Profil * |
#3 · Zasláno: 19. 8. 2008, 15:59:32
jsem začatečnik takže o tom moc nevím. Akorát tedkom mi to hlasi chybu že se nepovedl select na databazi jinak to už chybu nehlasi za to díky ;)
|
||
hej? Profil * |
#4 · Zasláno: 19. 8. 2008, 16:34:44
„V tabulce novinky není žádný záznam“
„Navíc $poradi=$poradi[0]; je docela nekorektní operace, navíc to celé můžeš provést prostě přes“ „$pocet=@mysql_result(mysql_query("select count(id) from novinky"),0);“ „Možná by šlo ještě pomocí or ošetřit když bude 0 záznamů“ Za tohle diky určo to využiju, ale nevíš ješte proč se mi to nechce zřejme spojit s databazi když udaje by meli byt spravne? |
||
Nox Profil |
#5 · Zasláno: 19. 8. 2008, 16:45:20
Jak to má kdo vědět, když tu nedáš kód:) Asi nejsou, případně se mrkni do FAQu hostingu
|
||
nightfish Profil |
#6 · Zasláno: 19. 8. 2008, 17:06:08 · Upravil/a: nightfish
Nox
„V tabulce novinky není žádný záznam“ spíš je problém v dotazu nebo připojení k databázi resp. když v tabulce nebude žádný záznam, tak to vrátí nulu, což? „Navíc $poradi=$poradi[0]; je docela nekorektní operace“ to je naprosto korektní operace... z pole (nebo řetězce) $poradi to vezme první položku (znak) a uloží do proměnné $poradi „$pocet=@mysql_result(mysql_query("select count(id) from novinky"),0);“ ale fuj, zavináče se jí a ne dávají před volání funkcí v PHP hej? uprav si kód na $zjisteni=mysql_query("select count(id) FROM novinky"); if (!$zjisteni) Die("doslo k chybe pri dotazu na databazi:<br>".mysql_error()."<br>"; else { $poradi=mysql_fetch_array($zjisteni); $poradi=$poradi[0]; } $select=mysql_query("select * from novinky order by id DESC LIMIT $pocet,$max") or DIE("Nepovedl se select na Databazi!<br>".mysql_error()); P.S. doufám, že v tom "nastaveni.php" je kód, který provádí připojení na databázi... P.P.S. ten kód je místy opravdu zvěrský - pro začátek - retězcové konstanty (např. u asociativních indexů pole) se uzavírají do uvozovek nebo apostrofů |
||
hej? Profil * |
#7 · Zasláno: 19. 8. 2008, 17:08:13
<?php
$server='mysql.ic.cz'; $user='ic_sdstudio'; $pass='123'; $database='ic_sdstudio'; if (!mysql_connect($server, $user, $pass)) { echo "Nepovedlo se pøipojit k databázovému serveru! <br/>\n"; echo "Chyba ". mysql_error()."<br/>\n"; echo "Èíslo ". mysql_errno(); exit(); } if (!mysql_select_db($database)) { echo "Nepovedlo se vybrat databázi! <br/>\n"; echo "Chyba ". mysql_error()."<br/>\n"; echo "Èíslo ". mysql_errno(); exit(); } $max=10; ?> tady mas to prihlaseni no :) |
||
hej? Profil * |
#8 · Zasláno: 19. 8. 2008, 17:09:50
„Nox“
„„V tabulce novinky není žádný záznam““ „spíš je problém v dotazu nebo připojení k databázi“ „resp. když v tabulce nebude žádný záznam, tak to vrátí nulu, což?“ „„Navíc $poradi=$poradi[0]; je docela nekorektní operace““ „to je naprosto korektní operace... z pole (nebo řetězce) $poradi to vezme první položku (znak) a uloží do proměnné $poradi“ „„$pocet=@mysql_result(mysql_query("select count(id) from novinky"),0);““ „ale fuj, zavináče se jí a ne dávají před volání funkcí v PHP“ „hej?“ „uprav si kód na“ „$zjisteni=mysql_query("select count(id) FROM novinky");“ „if (!$zjisteni) Die("doslo k chybe pri dotazu na databazi:<br>".mysql_error()."<br>";“ „else {“ „$poradi=mysql_fetch_array($zjisteni);“ „$poradi=$poradi[0];“ „}“ „$select=mysql_query("select * from novinky order by id DESC LIMIT $pocet,$max")“ „or DIE("Nepovedl se select na Databazi!<br>".mysql_error());“ „P.S. doufám, že v tom "nastaveni.php" je kód, který provádí připojení na databázi...“ „P.P.S. ten kód je místy opravdu zvěrský - pro začátek - retězcové konstanty (např. u asociativních indexů pole) se uzavírají do uvozovek nebo apostrofů“ Díky j v tom nastaveni jsou ty udaje |
||
Nox Profil |
#9 · Zasláno: 19. 8. 2008, 17:17:47 · Upravil/a: Nox
„spíš je problém v dotazu nebo připojení k databázi
resp. když v tabulce nebude žádný záznam, tak to vrátí nulu, což?“ Máš pravdu, spletl jsem si to s případem kdy se nepoužívá count, ale normálně záznamy, pak se pokud vím vrací false „to je naprosto korektní operace... z pole (nebo řetězce) $poradi to vezme první položku (znak) a uloží do proměnné $poradi“ A není to tak že se do poli proměnných snažíš přiřadit nějakou hodnotu, přesto že je to pole? Mě to prostě nesedí, ale PHP to teda asi umí přetypovat...nebo špatně chápu koncept „ale fuj, zavináče se jí a ne dávají před volání funkcí v PHP“ J, pravda, no vycházel jsem z http://php.vrana.cz/ziskani-poctu-radek.php a tenhle zápis je (vzhledem k tomu že se data dále nezpracovávají) nejkratší, ale pamatuju si, že mi to házelo chybu cannot jump to row 0, nebo nějak tak...asi při nějaké jiné situaci tedy |
||
hej? Profil * |
#10 · Zasláno: 19. 8. 2008, 17:21:45
jestli se chcete kouknout co to vlastne je tak tady to mate cele v raru http://www.rjwebdesign.net/download.php?fid=4&file=novinky.rar
|
||
nightfish Profil |
#11 · Zasláno: 19. 8. 2008, 17:45:17
Nox
„Máš pravdu, spletl jsem si to s případem kdy se nepoužívá count, ale normálně záznamy, pak se pokud vím vrací false “ ne, mysql_query vrací false pouze v případě, že při vykonávání dotazu došlo k chybě (syntaktická chyba v dotazu, není vybrána databáze, není připojeno k databázi apod.) „ale pamatuju si, že mi to házelo chybu cannot jump to row 0, nebo nějak tak...asi při nějaké jiné situaci tedy“ to se stane když použiješ mysql_result a z databáze se vrátí 0 řádků výsledku „A není to tak že se do poli proměnných snažíš přiřadit nějakou hodnotu, přesto že je to pole? Mě to prostě nesedí, ale PHP to teda asi umí přetypovat...nebo špatně chápu koncept “ $pole = array("neco", "jineho); // vytvori pole $pole[0] = "neco"; $pole[1] = "jineho"; $pole = $pole[0]; // vyhodnoti vyraz na prave strane od rovnitka, tzn. jakoby $pole[0] nahradi retezcem "neco" a nasledne provede prirazeni tohohle rezetce do promenne $pole (PHP automaticky zmeni typ promenne $pole z "pole" na "retezec") hej? „jestli se chcete kouknout co to vlastne je tak tady to mate cele v raru“ já ani ne, děkuji píše ti něco ten mysql_error()? |
||
Nox Profil |
#12 · Zasláno: 19. 8. 2008, 18:27:54 · Upravil/a: Nox
Mno jo, ještě se musím učit:)
A co když je $pole[0]="auto";$pole[1]=6;$pole=$pole[1]; ...i toto jde? pak se ostatní hodnoty smažou? Edit: už mlčim - vždyť to můžu zkusit sám! Edit2: ano...smažou, typ se změní i navzdory obsažení dalších hodnot |
||
Časová prodleva: 16 let
|
0