Avatar billede matz Nybegynder
11. august 2007 - 01:30 Der er 5 kommentarer og
1 løsning

Fejl ved udskrivning af class

Jeg prøver at connecte via en include fil. Den skal så hente et udtræk fra mysql ud. Den melder bare fejl.

Fejl:

Fatal error: Call to undefined method sql::udskrivVideo() in C:\wamp\www\oop\index2.php on line 54

Koden:

include_once 'connect.php';

class Video {
  public $titel;
 
  function udskrivVideo() {
        echo "<p>".$this->titel." </p>";
  }
}

$test = new Video();
$test = new sql();
$test->connect();
$test->q("SELECT id, fornavn FROM navn");
$array = $test->a();
$test->titel = $array[1];
$test->free();
$test->close();
$test->udskrivVideo();

Nogen her der kan se hvad fejlen er?
Avatar billede nielle Nybegynder
11. august 2007 - 08:22 #1
$test = new Video();
$test = new sql();
...
$test->udskrivVideo();

Efter anden linje er $tes blevet et objekt af typen "sql". Da udskrivVideo() ikke er en metode i sql men derimod fra Video brokker den sig over det.
Avatar billede jakobdo Ekspert
11. august 2007 - 08:22 #2
Fejlen er her:
$test = new Video();
$test = new sql();

Du opretter 2 klasser i same variabel.
Video bliver overskrevet.
Avatar billede matz Nybegynder
11. august 2007 - 13:02 #3
Okay er der nogen som har en løsning på den, så jeg kan få det udskrevet ?
Avatar billede nielle Nybegynder
11. august 2007 - 13:12 #4
Ja, brug forskellige navne for dine variable:

class Video {
  public $titel;
 
  function udskrivVideo() {
        echo "<p>".$this->titel." </p>";
  }
}

$test_1 = new Video();

$test_2 = new sql();
$test_2->connect();
$test_2->q("SELECT id, fornavn FROM navn");
$array = $test_2->a();

$test_1->titel = $array[1];

$test_2->free();
$test_2->close();

$test_1->udskrivVideo();

Det ville endvidere være en fordel at bruge nogle mere sigende variabelnavne i stedet for "test".
Avatar billede matz Nybegynder
11. august 2007 - 13:24 #5
Ja cool nok. Test er brugt nu da det bare var en "test" for at finde ud af hvordan man gjorde det, men kan godt se meningen med det nu.

Tak for det - lig et svar nielle.
Avatar billede nielle Nybegynder
11. august 2007 - 15:03 #6
Svar :^)
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