Autor Zpráva
Pavel Vlček
Profil *
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
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 *
Problém je ale vtom, že každé fórum má svoji tabulku.
djlj
Profil
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
si stejně myslím že chyba bude někde u $vysledek
Pavel Vlček
Profil *
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
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 *
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
Tak máš holt špatně SQL dotaz. Vypiš si chybu, kterou ti vrací mysql: echo mysql_error();.
Pavel Vlček
Profil *
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 *
A mysql nic nehlásí.
djlj
Profil
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 *
Aha. Změnil jsem pozici mysql_error a je tu hláška:

Unknown column 'posledni_odpoved' in 'order clause'
djlj
Profil
Sloupec nebo alias posledni_odpoved neexistuje.
Pavel Vlček
Profil *
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
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 *
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 *
A jedná se o řádek s obsahem:

while ($zaznam = mysql_fetch_array($prispevky)):
djlj
Profil
Jo, ta proměnná je evidentně prázdná.
djlj
Profil
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.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0