Avatar billede minimadsens Nybegynder
20. oktober 2007 - 22:24 Der er 12 kommentarer og
1 løsning

Fatal error: Cannot redeclare class MySQLDB

HJÆLP! Hvorfor får jeg dette svar?

Jeg er ved at lave en tagwall på mit site, som jeg har taget ud fra mit nyhedes-system.

Men når jeg ligger filen over fra min gamle side, over på den nye, kommer den her fejl?

Fatal error: Cannot redeclare class MySQLDB

Hvorfor? ..

Her er nogen udklip fra den linje, & fil, fejlen ligger på:

class MySQLDB
{
  var $connection;        //The MySQL database connection
  var $num_active_users;  //Number of active users viewing site
  var $num_active_guests;  //Number of active guests viewing site
  var $num_members;        //Number of signed-up users
  /* Note: call getNumMembers() to access $num_members! */

  /* Class constructor */
  function MySQLDB(){
      /* Make connection to database */
      $this->connection = mysql_connect(DB_SERVER, DB_USER, DB_PASS) or die(mysql_error());
      mysql_select_db(DB_NAME, $this->connection) or die(mysql_error());

      /**
      * Only query database to find out number of members
      * when getNumMembers() is called for the first time,
      * until then, default value set.
      */
      $this->num_members = -1;

      if(TRACK_VISITORS){
        /* Calculate number of users at site */
        $this->calcNumActiveUsers();

        /* Calculate number of guests at site */
        $this->calcNumActiveGuests();
      }

Håber i kan hjælpe, spørg hvis i skal bruge mere info?


- Tusinde tak på forhånd!
Avatar billede erikjacobsen Ekspert
20. oktober 2007 - 22:28 #1
Så har du vel skrevet den to gange, eller inkluderet den 2 gange.
Avatar billede minimadsens Nybegynder
20. oktober 2007 - 22:44 #2
Nej
Avatar billede dkfire Nybegynder
20. oktober 2007 - 22:49 #3
Jamen så lad os se noget mere kode.
Avatar billede nielle Nybegynder
20. oktober 2007 - 22:52 #4
Kan det tænkes at du includer filen med din klasse flere steder fra, sådan at den bliver included flere gange i træk?
Avatar billede nielle Nybegynder
20. oktober 2007 - 22:56 #5
Ok, det fortæller du jo godt nok at du ikke gør, men fejlen lyder nu som om at det er det der er galt...
Avatar billede olebole Juniormester
20. oktober 2007 - 23:52 #6
<ole>

Hvis ikke klassen MySQLDB allerede eksisterer, når du prøver at inkludere den, _kan_ du ikke få den fejl. Enten er det din kode, der allerede har inkluderet den eller også har du en centralmongolsk php-nisse kravlende rundt på din server  :)

/mvh
</bole>
Avatar billede olebole Juniormester
21. oktober 2007 - 00:05 #7
Prøv der, hvor du inkluderer klassen, at skrive dette i stedet:

$oMySQLDB = new MySQLDB();
var_dump($oMySQLDB);

Hvis den første linje smider en fejl, som siger, PHP ikke kan instantiere en ikke-eksisterende klasse, er klassen ikke allerede inkluderet.
Hvis derimod, der udskrives et serialiseret objekt, er klassen allerede inkluderet.

Vi er foreløbig tre-fire stykker, der gerne vil vædde på det sidste  :)
Avatar billede nielle Nybegynder
29. oktober 2007 - 18:32 #8
Er du kommet vidre med denne her?
Avatar billede minimadsens Nybegynder
29. oktober 2007 - 21:26 #9
Ja, jeg er færdig, tusinde tak for hjælpen :)

Jeg bekalger meget, men det havde noget at gøre med at jeg havde inkluderet en fil, som havde inkluderet den samme som jeg allerede var igang med at inkludere.

- Tak for hjælpen!
Avatar billede nielle Nybegynder
06. november 2007 - 17:42 #10
Husk at lukke her.

Erikjacobsen plejer ikke at ville have point, så du må nok selv smide et svar og tage dine point tilbage. :^)
Avatar billede erikjacobsen Ekspert
06. november 2007 - 17:43 #11
Ingen point til mig, tak.
Avatar billede minimadsens Nybegynder
07. november 2007 - 21:41 #12
okay.. :/

Hvordan kan det være erik?
Avatar billede erikjacobsen Ekspert
07. november 2007 - 22:03 #13
Jeg samler slet ikke på point, tak.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester