login  Naam:   Wachtwoord: 
Registreer je!
 Forum

class nieuws

Offline leendert - 17/09/2005 14:49 (laatste wijziging 17/09/2005 14:50)
Avatar van leendertHTML beginner
  1. <?php
  2. class nieuws
  3. {
  4. var $nieuws = array();
  5. var $username = '';
  6. var $password = '';
  7. var $hostname = '';
  8. var $databasename = '';
  9. var $driver = 'mysql';
  10. var $dsn;
  11. var $db;
  12.  
  13. function nieuws ()
  14. {
  15. $this->dsn = $driver."://".$username.":".$password."@".$hostname."/".$databasename;
  16. $this->db =& ADONewConnection($dsn);
  17. }
  18.  
  19.  
  20. function getNieuws()
  21. {
  22. $rQuery = $this->db->GetAll('SELECT
  23. *
  24. FROM
  25. tbl_nieuws
  26. LIMIT
  27. 5
  28. ');
  29.  
  30. foreach($rQuery as $value){
  31. $nieuws[] = $value;
  32. }
  33. return $nieuws;
  34. }
  35. }?>


Nu roep ik getNieuws op maar dan geeft die de melding:
Call to a member function on a non-object in

Wat is daar verkeerd aan?

6 antwoorden

Gesponsorde links
Offline nemesiskoen - 17/09/2005 14:56 (laatste wijziging 17/09/2005 14:57)
Avatar van nemesiskoen Gouden medaille

PHP expert
Heb je een object aangemaakt dat naar de klasse verwijst?

  1. <?php
  2. $nieuws = new nieuws;
  3. $nieuws->nieuws();
  4. $arr_nieuws = $nieuws->getNieuws();
  5. ?>


Weet trouwens ook niet of deze constructie mogelijk is:
  1. $this->db->GetAll

maak daar is van:
  1. $db = $this->db;
  2. $db->GetAll //etc


$this is een reference naar de class. Je gaat dus een methode toepassen op een reference van de class, wat volgens mij niet gaat.
Offline leendert - 17/09/2005 15:17
Avatar van leendert HTML beginner
  1. function nieuws ()
  2. {
  3. $this->dsn = $driver."://".$username.":".$password."@".$hostname."/".$databasename;
  4. $this->db =& ADONewConnection($dsn);
  5. }
  6.  
  7.  
  8. function getNieuws()
  9. {
  10. $db = $this->db;
  11. $rQuery = $db->GetAll('SELECT
  12. *
  13. FROM
  14. tbl_nieuws
  15. LIMIT
  16. 5
  17. ');
  18.  
  19. foreach($rQuery as $value){
  20. $nieuws[] = $value;
  21. }
  22. return $nieuws;
  23. }


heb er nu dat van gemaakt maar hij vblijft zeggen:

Fatal error: Call to a member function on a non-object in /var/www/s/website.nl/HTML/includes/nieuws.class.php on line 26

En dit is dan de nieuws.class.php
Offline nemesiskoen - 17/09/2005 21:10
Avatar van nemesiskoen Gouden medaille

PHP expert
Wat staat er op regel 26?
Offline leendert - 17/09/2005 21:52
Avatar van leendert HTML beginner $rQuery = $db->GetAll('SELECT

dat. Hij kent $db dus niet.
Offline Thomas - 18/09/2005 01:44
Avatar van Thomas Moderator Is ADONewConnection een functie of een class?
Offline nemesiskoen - 18/09/2005 10:38
Avatar van nemesiskoen Gouden medaille

PHP expert
  1. $this->db =& ADONewConnection($dsn);

$dsn heeft geen waarde.
Het is $this->dsn
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.219s