Avatar billede acoon Nybegynder
25. november 2005 - 22:51 Der er 7 kommentarer og
1 løsning

php klasse

Hejsa,

Jeg er gået i gang med object oriented php i php5.

Jeg har denne klasse som giver fejl.

<?php
  class Database {
    private $dblink;
    private $out;

    function __construct() {
      $this->dblink = mysql_connect("localhost", "user", "pass") or die("Could not connect : " . mysql_error());
      mysql_select_db("myowndb") or die("Could not select database");
    }

    public function select($string) {
      $this->out = mysql_query($string,$this->dblink);
    }

    public function getSelect() {
      return mysql_fetch_assoc($out);
    }
  }
?>

Jeg får fejl i denne linie -->
$this->out = mysql_query($string,$this->dblink);

Fejl: Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource

Nogen der har en ide til hvad der går galt???
Avatar billede stalle Nybegynder
25. november 2005 - 23:02 #1
kalder du __construct() og select($string) lige efter hinanden ?
Avatar billede acoon Nybegynder
25. november 2005 - 23:05 #2
Jep

$database = new Database();
Database::select("SELECT * FROM stats");
Avatar billede acoon Nybegynder
25. november 2005 - 23:08 #3
rettelse:

$database = new Database();
$database->select("SELECT * FROM stats");
Avatar billede stalle Nybegynder
25. november 2005 - 23:11 #4
Det er ikke helt nok, da din klasse jo bliver "nulstillet" for hver gang

Altså er det nødvendigt og gøre følgende:

$database = new Database();
$database->__construct();
$database->select("SELECT * FROM stats");
Avatar billede acoon Nybegynder
25. november 2005 - 23:18 #5
Hmm.. Tager jeg helt fejl når jeg soger at konstrutøren bliver kørt automatisk når objktet bliver oprettet??? Det skulle det meget gerne. Det hjælper i hvert fald ikke noget jeg smider denne ind.. $database->__construct();
Avatar billede acoon Nybegynder
25. november 2005 - 23:20 #6
Men nu er jeg nede på at det er denne linie jeg får fejlen.
return mysql_fetch_assoc($this->out);

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource


Grunden til fejlen ikke er længere oppe, er at jeg havde kørt select metoden i det forkerte objekt. Det er nu rettet.
Avatar billede acoon Nybegynder
25. november 2005 - 23:23 #7
Jeg har fundet ud af det.. Det var simpelt hen mig der hele vejen igennem havde kaldt Database::getSelect() i stedet for $database->getSelect()

Dumme mig..
Avatar billede acoon Nybegynder
25. november 2005 - 23:59 #8
Jeg lukker den
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