Autor | Zpráva | ||
---|---|---|---|
Pavel Vlček Profil * |
#1 · Zasláno: 20. 12. 2007, 18:56:41
Dobrý den. Prý mám chybu na řádku 31 mysql result isn't a valid resuld.
<? if ($_GET["co"]=="forum") { setcookie("forum", $_GET["id"], time() + time()); } ?> <html> <head> <? if ($_GET["co"]=="forum") { zobrazforum($_GET["id"]); } else { zobraztema($_GET["id"]); } function zobrazforum($id) { require_once "spojeni.php"; $titulek_stranky = mysql_query("select nazev FROM fora WHERE id = $id"); echo "<title>prohlížení fóra "; echo $titulek_stranky; echo "</title>"; $vysledek = mysql_query("SELECT * from id ORDER BY posledni_odpoved"); echo "</head> <body>"; echo "<h1>seznam témat</h1>"; echo "<table>"; echo "<tr><thnázev tématu<th>počet odpovědí<th>počet zobrazení<th><th>zakladatel<th>datum posledního příspěvku<th>poslední přispěvatel"; while ($zaznam = mysql_fetch_array($vysledek)): echo "<tr><td><a href='zobraz.php?id="; echo $zaznam["id"]; echo "&co=tema>"; echo $zaznam["nazev"]; echo "</a>"; echo "<td>"; echo $zaznam["pocet_prispevku"]; echo "<td>"; echo $zaznam["prohlednuto"]; echo "<td>"; echo $zaznam["posledni_odpoved"]; echo "<td>"; echo $zaznam["posledni_prispevatel"]; endwhile; echo "</table>"; echo "<a href=pridat_tema.php?id_fora=$id>Založit nové téma</a>"; } function zobraztema($id) { require_once "spojeni.php"; $tabulka_prispevku = mysql_query("SELECT $id2 from '".$COOKIE['forum']."'"); mysql_query("UPDATE '".$_COOKIE['forum']."' set prohlednuto = prohlednuto + 1 "); $prispevky = mysql_query("SELECT * FROM $tabulka_prispevku WHERE id_tematu = $id"); $titulek_stranky = mysql_query("SELECT $nazev from '".$_COOKIE['forum']."' WHERE id = $id"); echo "<title>prohlížení tématu "; echo $titulek_stranky; echo "<h1>prohlížení tématu</h1>"; echo "</title>"; echo "</head> <body>"; echo "<table>"; echo "<tr><th>autor<th>čas a datum zaslání příspěvku<th>příspěvek"; while ($zaznam = mysql_fetch_array($prispevky)): echo "<tr><td>"; echo $zaznam["autor"]; echo "<td>"; echo $zaznam["datum"]; echo $zaznam["datum"]; echo "<td>"; echo $zaznam["text"]; endwhile; echo "<h1>přidání odpovědi na toto téma</h1>"; include "form.php"; } Prosím pomozte. Děkuji. |
||
Taps Profil |
#2 · Zasláno: 20. 12. 2007, 18:59:30 · Upravil/a: Taps
Pavel Vlček
co je toto? $vysledek = mysql_query("SELECT * from id ORDER BY posledni_odpoved"); nemá to být náhodou takto - "SELECT id from tabulka order by posledni_odpoved" edit: a chybí ti uzavřené th u názvu |
||
Pavel Vlček Profil * |
#3 · Zasláno: 20. 12. 2007, 19:16:33
Problém je ale vtom, že každé fórum má svoji tabulku.
|
||
djlj Profil |
#4 · Zasláno: 20. 12. 2007, 19:19:40
Nejspíš tam chceš mít $id a ne id.
Problém je ale vtom, že každé fórum má svoji tabulku. Špatně navržená databáze. |
||
Taps Profil |
#5 · Zasláno: 20. 12. 2007, 19:20:47
si stejně myslím že chyba bude někde u $vysledek
|
||
Pavel Vlček Profil * |
#6 · Zasláno: 20. 12. 2007, 19:24:16
Změnil jsem to takhle:
<? if ($_GET["co"]=="forum") { setcookie("forum", $_GET["id"], time() + time()); } ?> <html> <head> <? if ($_GET["co"]=="forum") { zobrazforum($_GET["id"]); } else { zobraztema($_GET["id"]); } function zobrazforum($id) { require_once "spojeni.php"; $id =$_GET['id']; $titulek_stranky = mysql_query("select nazev FROM fora WHERE id = $id"); echo "<title>prohlížení fóra "; echo $titulek_stranky; echo "</title>"; $vysledek = mysql_query("SELECT $id from fora ORDER BY posledni_odpoved"); echo "</head> <body>"; echo "<h1>seznam témat</h1>"; echo "<table>"; echo "<tr><th>název tématu<th>počet odpovědí<th>počet zobrazení<th>zakladatel<th>datum posledního příspěvku<th>poslední přispěvatel</tr>"; while ($zaznam = mysql_fetch_array($vysledek)): echo "<tr><td><a href='zobraz.php?id="; echo $zaznam["id"]; echo "&co=tema>"; echo $zaznam["nazev"]; echo "</a>"; echo "<td>"; echo $zaznam["pocet_prispevku"]; echo "<td>"; echo $zaznam["prohlednuto"]; echo "<td>"; echo $zaznam["posledni_odpoved"]; echo "<td>"; echo $zaznam["posledni_prispevatel"]; endwhile; echo "</table>"; echo "<a href='pridat_tema.php?id_fora=$id'>Založit nové téma</a>"; } function zobraztema($id) { require_once "spojeni.php"; $tabulka_prispevku = mysql_query("SELECT id2 from $COOKIE[forum]'"); mysql_query("UPDATE '".$_COOKIE['forum']."' set prohlednuto = prohlednuto + 1 "); $prispevky = mysql_query("SELECT * FROM $tabulka_prispevku WHERE id_tematu = $id"); $titulek_stranky = mysql_query("SELECT $nazev from '".$_COOKIE['forum']."' WHERE id = $id"); echo "<title>prohlížení tématu "; echo $titulek_stranky; echo "<h1>prohlížení tématu</h1>"; echo "</title>"; echo "</head> <body>"; echo "<table>"; echo "<tr><th>autor<th>čas a datum zaslání příspěvku<th>příspěvek"; while ($zaznam = mysql_fetch_array($prispevky)): echo "<tr><td>"; echo $zaznam["autor"]; echo "<td>"; echo $zaznam["datum"]; echo $zaznam["datum"]; echo "<td>"; echo $zaznam["text"]; endwhile; echo "<h1>přidání odpovědi na toto téma</h1>"; include "form.php"; } Jenže expecting. |
||
djlj Profil |
#7 · Zasláno: 20. 12. 2007, 19:26:15 · Upravil/a: djlj
Jenže expecting.
Tak tam máš někde chybu. Zkus být pro příště třeba o trochu méně stručný, bude snadnější ti poradit. A neposílej sem pořád celý kódy, stačí jen inkriminovaný místo a +- 10 řádků. Samozřejmostí je napsat celý výpis chyby. |
||
Pavel Vlček Profil * |
#8 · Zasláno: 20. 12. 2007, 19:28:51
Takže chyba je prý tady $vysledek = mysql_query("SELECT $id from fora ORDER BY posledni_odpoved");
Jenže pořád to hlásí buď expecting nebo invalit mysql result resource in cesta a soubor řádek 26. |
||
djlj Profil |
#9 · Zasláno: 20. 12. 2007, 19:30:23
Tak máš holt špatně SQL dotaz. Vypiš si chybu, kterou ti vrací mysql: echo mysql_error();.
|
||
Pavel Vlček Profil * |
#10 · Zasláno: 20. 12. 2007, 19:31:18
Teď to hlásí řádek 31 a tohle:
Warning: Supplied argument is not a valid MySQL result resource in c: \apache\htdocs\forum\zobraz. php on line 31 A řádek 31: while ($zaznam = mysql_fetch_array($vysledek)): |
||
Pavel Vlček Profil * |
#11 · Zasláno: 20. 12. 2007, 19:36:13
A mysql nic nehlásí.
|
||
djlj Profil |
#12 · Zasláno: 20. 12. 2007, 19:41:10
Vsadil bych se i o litr, že jo. No v tom případě ti nemám jak poradit, třeba se bude chtít někomu jinému…
|
||
Pavel Vlček Profil * |
#13 · Zasláno: 20. 12. 2007, 19:43:29
Aha. Změnil jsem pozici mysql_error a je tu hláška:
Unknown column 'posledni_odpoved' in 'order clause' |
||
djlj Profil |
#14 · Zasláno: 20. 12. 2007, 19:45:13
Sloupec nebo alias posledni_odpoved neexistuje.
|
||
Pavel Vlček Profil * |
#15 · Zasláno: 20. 12. 2007, 20:12:30
To jsem už vyřešil, jenže teď musím poslat celý kód. Na řádku 65 je prý chyba, jenže prý v syntaxi WHERE id =
<? if ($_GET["co"]=="forum") { setcookie("forum", $_GET["id"], time() + time()); } ?> <html> <head> <? if ($_GET["co"]=="forum") { zobrazforum($_GET["id"]); } else { zobraztema($_GET["id"]); } function zobrazforum($id) { require_once "spojeni.php"; $titulek_stranky = mysql_query("select nazev FROM fora WHERE id = $id"); echo "<title>prohlížení fóra "; echo $titulek_stranky; echo "</title>"; $vysledek = mysql_query("SELECT $id from fora ORDER BY posledni_odpoved"); echo "</head> <body>"; echo "<h1>seznam témat</h1>"; echo "<table>"; echo "<tr><th>název tématu<th>počet odpovědí<th>počet zobrazení<th>zakladatel<th>datum posledního příspěvku<th>poslední přispěvatel</tr>"; while ($zaznam = mysql_fetch_array($vysledek)): echo "<tr><td><a href='zobraz.php?id="; echo $zaznam["id"]; echo "&co=tema>"; echo $zaznam["nazev"]; echo "</a>"; echo "<td>"; echo $zaznam["pocet_prispevku"]; echo "<td>"; echo $zaznam["prohlednuto"]; echo "<td>"; echo $zaznam["posledni_odpoved"]; echo "<td>"; echo $zaznam["posledni_prispevatel"]; endwhile; echo mysql_error(); echo "</table>"; echo "<a href='pridat_tema.php?id_fora=$id'>Založit nové téma</a>"; } function zobraztema($id) { require_once "spojeni.php"; $idtematu = $_GET['id']; $tabulka_prispevku = mysql_query("SELECT $id2 from $_COOKIE[forum]'"); mysql_query("UPDATE $_COOKIE[forum] set prohlednuto = prohlednuto + 1 "); $prispevky = mysql_query("SELECT * FROM $tabulka_prispevku WHERE id_tematu = $id"); $titulek_stranky = mysql_query("SELECT $nazev from ".$COOKIE['forum']." WHERE id = $id"); echo "<title>prohlížení tématu "; echo $titulek_stranky; echo "<h1>prohlížení tématu</h1>"; echo "</title>"; echo "</head> <body>"; echo "<table>"; echo "<tr><th>autor<th>čas a datum zaslání příspěvku<th>příspěvek</tr>"; while ($zaznam = mysql_fetch_array($prispevky)): echo "<tr><td>"; echo $zaznam["autor"]; echo "<td>"; echo $zaznam["datum"]; echo $zaznam["datum"]; echo "<td>"; echo $zaznam["text"]; endwhile; echo mysql_error(); echo "<h1>přidání odpovědi na toto téma</h1>"; include "form.php"; } Díky. |
||
djlj Profil |
#16 · Zasláno: 20. 12. 2007, 20:15:04 · Upravil/a: djlj
Na řádku 65 je prý chyba, jenže prý v syntaxi WHERE id =
Tak prý tam je, nebo určitě tam je? Je-li správně druhá možnost, napiš sem, jaká tam je chyba. Když už máš nutkání sem posílat celé kódy, tak daný řádek s chybou aspoň zvýrazni. Nevím, jak ostatní, ale já to počítat nebudu. Pokud se jedná o $titulek_stranky = mysql_query("SELECT $nazev from ".$COOKIE['forum']." WHERE id = $id"); tak zkontroluj, zda máš v proměnných žádané hodnoty. Na to, že je něco uloženo v cookies, bych se nespoléhal ani náhodou. |
||
Pavel Vlček Profil * |
#17 · Zasláno: 20. 12. 2007, 20:19:12
Hláška:
Warning: Supplied argument is not a valid MySQL result resource in c: \apache\htdocs\forum\zobraz. php on line 66 You have an error in your SQL syntax near 'from WHERE id = ' at line 1 Pravděpodobně se jedná opravdu o cookies. |
||
Pavel Vlček Profil * |
#18 · Zasláno: 20. 12. 2007, 20:21:07
A jedná se o řádek s obsahem:
while ($zaznam = mysql_fetch_array($prispevky)): |
||
djlj Profil |
#19 · Zasláno: 20. 12. 2007, 20:21:13
Jo, ta proměnná je evidentně prázdná.
|
||
djlj Profil |
#20 · Zasláno: 20. 12. 2007, 20:22:17
A jedná se o řádek s obsahem:
Tam ti to jen píše, že v proměnné $prispevky, kterou chceš funkcí mysql_fetch_array, není platný resource dotazu na databázi. Doporučoval bych nastudovat si absolutní základy php a mysql… a naučit se anglicky. |
||
Časová prodleva: 16 let
|
0