Autor Zpráva
Limo
Profil *
Mám v html vložený kód php který vypisuje posledí příspěvek na web a mysql mi hlásí tuto chybu



Fatal error: Cannot redeclare class db in /3w/unas.cz/o/oskar/connect.php on line 5


kód mám takto :

<div class="poz_menu4">
<?php
$sql = "SELECT * FROM file ORDER BY id_file DESC LIMIT 1";
$sql = mysql_query($sql);

while ($r=mysql_fetch_array($sql))
{
echo "<a href='$r[url_file]' class='menu4'>Rozpis</a><br />";
}
?>
</div>
Limo
Profil *
<?



class DB {

var $connSER; # ukazatel spojeni se serverem
var $connDB; # ukazatel vybrani databaze
var $host; # databazovy server
var $user; # uzivatelske jmeno
var $pwd; # heslo
var $db; # jmeno databaze

toto je kód z connect.php
WanTo
Profil
Na řádce 5 opakovaně definuješ třídu db. To nemá se sql dotazem nic společného.
Limo
Profil *
ale než sem tam vložil ten select tak mi to nepsalo ? nevím co s tím ?
Limo
Profil *
měl sem tam jiné selecty a nedělalo to
WanTo
Profil
Nevložil jsi tam náhodou společně se selectem nějaký include?
Limo
Profil *
no jenom include ('connect.php') nahoru do té stránky jinak by to tu DB nenašlo vůbec
WanTo
Profil
Tak se podívej do connect.php, vsadím se s tebou, že je tam definice třídy db ;-) Tak jí tam nech a smaž jí z toho souboru, kde máš dotaz.
WanTo
Profil
Ne, tohle nebude ono... Máš nějaký include v connect.php?
Limo
Profil *
nemám
Limo
Profil *
a nikde to tam opravdu nedefinuju tu class DB jen v connect.php
WanTo
Profil
V tom případě nějaký include před include ('connect.php') ? Prostě si projdi všechny soubory, které se mohou do (před) connect.php includovat a podívej se, jestli v nějakém není definice třídy DB. Další možnost je, že connect.php vkládáš několikrát.
Limo
Profil *
jj bylo to tím že to tam bylo při načtení dalších skriptů potom vlastně několiktrát to connect.php. Díky!
Hugo
Profil
Limo

Je lepší používat include_once() nebo require_once(), pak se vyhneš těmto problémům.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0