login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[OOPHP] Database connector (Opgelost)

Offline Chilion - 15/03/2010 17:11 (laatste wijziging 15/03/2010 17:13)
Avatar van ChilionMySQL interesse Beste mensen,
Ik ben redelijk nieuw in het OO fenomeen.

Er gaat hier iets fout, maar ik weet niet wat, wie kan mij even een zetje geven?

menu.php
  1. <?php
  2.  
  3. require_once('database.php');
  4. new Database();
  5.  
  6. class Menu
  7. {
  8.  
  9. public $query = 'SELECT * FROM menu';
  10.  
  11. function __construct()
  12. {
  13.  
  14. $result = mysqli_query($link, $this->query);
  15. $menu = mysqli_fetch_array($res);
  16.  
  17. printr($menu);
  18.  
  19. }
  20. }
  21.  
  22. new Menu();
  23.  
  24. ?>


database.php
  1. <?php
  2.  
  3. class Database
  4. {
  5. public $host = "localhost";
  6. public $user = "chilion_oo";
  7. public $pass = "*****";
  8. public $base = "chilion_oo";
  9. public $link = false;
  10.  
  11.  
  12.  
  13. function __construct()
  14. {
  15. $link = mysqli_connect($this->host, $this->user, $this->pass, $this->base);
  16.  
  17. if(!$link){
  18. die('Could not connect to the database. Error:'.mysqli_error($link));
  19. }
  20. else {
  21. print 'Succesfully connected to the database';
  22. }
  23. }
  24.  
  25.  
  26. function disconnect()
  27. {
  28. mysql_close($link);
  29. }
  30.  
  31. }
  32.  
  33.  
  34. ?>


Foutmelding:
Citaat:
Succesfully connected to the database
Warning: mysqli_query() expects parameter 1 to be mysqli, null given in /home/chilion/domains/chilion.nl/public_html/marc/inc/menu.php on line 14

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, null given in /home/chilion/domains/chilion.nl/public_html/marc/inc/menu.php on line 15

Fatal error: Call to undefined function printr() in /home/chilion/domains/chilion.nl/public_html/marc/inc/menu.php on line 17

Alvast bedankt!

13 antwoorden

Gesponsorde links
Offline TotempaaltJ - 15/03/2010 17:12 (laatste wijziging 15/03/2010 17:13)
Avatar van TotempaaltJ PHP interesse Wat gebeurt er wel dan? Zo kunnen we natuurlijk niks! Errors?

Overigens is het voor zover ik weet afgeraden om print's en echo's te doen in functies, gebruik liever returns!
Bedankt door: Chilion
Offline Chilion - 15/03/2010 17:13
Avatar van Chilion MySQL interesse Ach ja, sorry. Ze staan erbij in 
Offline TotempaaltJ - 15/03/2010 17:15
Avatar van TotempaaltJ PHP interesse Hmm, de errors lijken me duidelijk, toch? De laatste nog wel het makkelijkst op te lossen: niet printr, PHP.net: print_r!
Offline Chilion - 15/03/2010 17:18
Avatar van Chilion MySQL interesse Ja, dat snap ik ook, het ging eigenlijk om de bovenste 2 :/

En, ze zijn wel duidelijk ja, maar ik denk dat $link niet op die manier kan. $this->link werkt echter ook niet 

Groetsels.
Offline TotempaaltJ - 15/03/2010 17:22 (laatste wijziging 15/03/2010 17:36)
Avatar van TotempaaltJ PHP interesse No wonder: PHP.net: mysqli_connect bestaat niet? Blablabla, negeer dat 
Offline Chilion - 15/03/2010 17:32
Avatar van Chilion MySQL interesse Kun je misschien iets duidelijker zijn want ik snap de zak van je reacties
Offline Raze - 15/03/2010 17:34 (laatste wijziging 15/03/2010 17:34)
Avatar van Raze PHP beginner
TotempaaltJ schreef:
No wonder: PHP.net: mysqli_connect bestaat niet?

Bestaat niet?   http://php.net/manual/en/mysqli.connect.php
Offline lemoinet - 15/03/2010 17:35
Avatar van lemoinet PHP gevorderde
  1. <?php
  2.  
  3. require_once('database.php');
  4.  
  5. class Menu
  6. {
  7.  
  8. public $query = 'SELECT * FROM menu';
  9. private $_db;
  10.  
  11. function __construct()
  12. {
  13. $_db = new Database();
  14. $result = mysqli_query($_db->link, $this->query);
  15. $menu = mysqli_fetch_array($result);
  16.  
  17. print_r($menu);
  18.  
  19. }
  20. }
  21.  
  22. new Menu();
  23.  
  24. ?>
Offline TotempaaltJ - 15/03/2010 17:35 (laatste wijziging 15/03/2010 17:37)
Avatar van TotempaaltJ PHP interesse
Raze schreef:
[..quote..]
Bestaat niet?   http://php.net/manual/en/mysqli.connect.php
Srry, mijn schuld, negeer mijn reactie En btw, lemoinet heeft het antwoord 
Offline Chilion - 15/03/2010 17:59
Avatar van Chilion MySQL interesse Toch krijg ik nog deze foutmelding.

  1. Succesfully connected to the database
  2. Warning: mysqli_query() expects parameter 1 to be mysqli, boolean given in /home/chilion/domains/chilion.nl/public_html/marc/inc/menu.php on line 14
  3.  
  4. Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, null given in /home/chilion/domains/chilion.nl/public_html/marc/inc/menu.php on line 15
Offline Joost - 15/03/2010 18:14
Avatar van Joost PHP expert Je moet je klasse Database nog even veranderen dat je $this->link definieert, niet alleen $link 
Offline Raze - 15/03/2010 21:42 (laatste wijziging 15/03/2010 21:42)
Avatar van Raze PHP beginner
  1. $result = mysqli_query($link, $this->query);
  2. $menu = mysqli_fetch_array($result , MYSQLI_NUM);
Offline genkstar - 15/03/2010 21:46 (laatste wijziging 15/03/2010 21:54)
Avatar van genkstar Nieuw lid + Als je die link in Database classe wilt gebruiken, dan doe je

  1. Class Menu extends Database {
  2.  
  3. }

+ PHP.net: printr bestaat niet, het moet print_r zijn.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.241s