• Login
  • Register
  • Zoek
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Filebase Entry
  • More Options

ICTscripters

Dé plek voor IT

Dé plek voor IT

Login

Geavanceerde opties
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Dé plek voor IT - ICTscripters
  2. Forum
  3. Scripting & programmeren
  4. PHP + SQL

Forum

  • Op zoek naar de legends

    Syntax 5 januari 2026 om 13:50
  • Na 15 jaar terug van weggeweest: iCriminals.nl is terug (BETA)!

    Syntax 4 januari 2026 om 10:58
  • Developer Gezocht

    K.Rens 30 december 2025 om 12:32
  • [FREE] WeFact Hosting module

    Jeroen.G 13 oktober 2025 om 14:09
  • Help testers nodig voor android app Urgent

    urgentotservices 26 september 2025 om 10:21
  • Versio vervanger

    Jeroen.G 25 augustus 2025 om 15:56
  • Afspraken systeem met planbeperking

    Lijno 1 augustus 2025 om 23:04
  • Partner Gezocht om meerdere NFT Collecties op Open Sea te Plaatsen

    NFT Art Designer 1 maart 2025 om 14:08

Marktplaats

  • 321 Nieuwe Domeinnamen December 2025

    shiga 1 januari 2026 om 10:26
  • Meerdere mafia game template te koop

    Syntax 28 december 2025 om 21:20
  • Van een pixelige afbeelding naar een strakke, moderne website

    Syntax 21 december 2025 om 17:05

Beginnen met OOP

  • FrankY
  • 30 september 2014 om 17:50
  • FrankY
    Another one bites the dust.
    Ontvangen Reacties
    3
    Berichten
    598
    • 30 september 2014 om 17:50
    • #1

    Hallo iedereen,
    ik ben vandaag maar eens weer begonnen met het proberen te leren van OO, de vorige keren ben ik gestopt omdat ik gewoon weg de ballen er niet van snapte.

    Nu ik dus weer een nieuwe poging ben gaan doen, kom ik direct op het volgende probleem:
    - Hoe maak ik connectie met het database?

    Ik heb vele dingen geprobeerd, tevens heb ik mijn goede vriend google ook maar even in geschakeld en toch krijg ik nog steeds een wit scherm, een slecht humeur en zin om der weer mee te stoppen. Aangezien ik dit keer maar eens wil door zetten vraag ik het aan jullie :)

    Ik weet dat mijn script niet helemaal OO is en ja daar ga ik later uiteraard wat aan doen, maar nu eerst wil ik maar eens zorgen dat ik connectie met het database kan maken.

    Mijn script :

    PHP
    <?php 
    class DB {
    
    
        protected $DB_host = 'localhost';
        protected $DB_name = 'jnxltpqb_frank';
        protected $DB_password = '';
        protected $DB_username = 'jnxltpqb_frank';
        
        public function connect() {
        
            $connect_db = new $mysqli( $this->DB_host, $this->DB_username, $this->DB_password, $this->DB_name );
            if($mysqli->connect_errno()) {
                printf("Connection failed: %s\ ", $mysqli->connect_error());
                exit;
            }
            
            return $connect_db;
        }
        $db = new DB;
    }
    
    
    class Blog {
    
    
        $db = new DB('localhost', 'jnxltpqb_frank', '', 'jnxltpqb_frank');
        $connect = $db->connect();
        
        public $blog = '';
        
        function set_Blog () {
            $query = $connect->query("SELECT * FROM cms");
            
            if($query->num_rows == 0)
            {
                return false
            }
            else
            {
                $blog = $query->fetch_object();
                return $blog->cms_tekst;
            }
        }
        
    }
    
    
    $obj = new Blog;
    ?>
    Toon Meer

    Degene die mij uit de brand kan helpen krijgt een levenslange garantie aan liefde van mij :)

    Met vriendelijke groet,

    Frank sijbom

    Bezig met cms:)

  • Victor
    Master
    Ontvangen Reacties
    102
    Berichten
    1.680
    • 30 september 2014 om 18:32
    • #2

    Allereerst, meteen met databases beginnen in OO is misschien niet erg verstandig. Zoals je zegt is dat redelijk gecompliceerd.
    Om je toch verder te helpen, er zijn meerdere manieren. Ik maak zelf altijd een static class die ik overal aan kan spreken.
    Ik heb nu even niet de tijd om je verder te helpen, maar hier de code. Mocht je vragen hebben hoor ik het wel.

    PHP
    <?php
    
    
    class DB
    {
        private static $_instance = null;
        private $_pdo, 
                $_query, 
                $_error = false, 
                $_results, 
                $_count = 0;
    
    
        private function __construct()
        {
            try 
            {
                $this->_pdo =  new PDO('mysql:host='.Config::get('mysql/host').';dbname='.Config::get('mysql/db'),Config::get('mysql/username'),Config::get('mysql/password'));
            }
            catch(PDOException $e)
            {
                die($e->getMessage());
            }
        }
    
    
        public static function getInstance()
        {
            if(!isset(self::$_instance))
            {
                self::$_instance = new DB();
            }
            return self::$_instance;
        }
    
    
        public function query($sql,$params = array())
        {
            $this->_error = false;
            if($this->_query = $this->_pdo->prepare($sql))
            {
                if(count($params))
                {
                    $x = 1;
                    foreach($params as $param)
                    {
                        $this->_query->bindValue($x,$param);
                        $x++;
                    }
                }
    
    
                if($this->_query->execute())
                {
                    $this->_results = $this->_query->fetchAll(PDO::FETCH_OBJ);
                    $this->_count = $this->_query->rowCount();
                }
                else
                {
                    $this->_error = true;
                }
            }
    
    
            return $this;
        }
    
    
        public function results()
        {
            return $this->_results;
        }
    
    
        public function first()
        {
            return $this->results()[0];
        }
    
    
        public function error()
        {
            return $this->_error;
        }
    
    
        public function count()
        {
            return $this->_count;
        }
    }
    
    
    ?>
    Toon Meer

    Je gebruikt het door de database zo aan te roepen:

    Code
    $variabel = DB::getInstance();

    Daarna kan je met die $variabel verder werken. $variabel->query() .. Je kunt het in de code lezen.
    Ik heb enkel wel mijn MySQL gegevens in een setup staan, dus die moet je nog even aanpassen.

    Bron: phpacademy

    Met vriendelijke groet,

    Victor
    Beheerder ICTscripters

  • FrankY
    Another one bites the dust.
    Ontvangen Reacties
    3
    Berichten
    598
    • 30 september 2014 om 18:47
    • #3

    Hallo!

    Bedankt voor de snelle reactie. Snap er uiteraard niet alles van, maar dat gaan we dus voor leren, ik zal het even proberen aan te passen om te kijken of het nu wel werkt. Heb tevens de bron aan mijn bladwijzers vast gemaakt, bedankt daarvoor!

    - Ik heb het geprobeerd, en ik krijg wederom een wit scherm. Als ik $variabel = DB::getInstance(); weg haal uit mijn blog class dan is het witte scherm weg. Ik heb mijn database gegevens precies zo in gevuld als hoe u het heeft gedaan.
    Ik ben vanavond niet meer bereikbaar dus mocht u reageren dan kan ik er morgen pas op reageren.

    Alvast bedankt,
    Frank Sijbom

    Bezig met cms:)

  • Victor
    Master
    Ontvangen Reacties
    102
    Berichten
    1.680
    • 1 oktober 2014 om 09:57
    • #4

    Heb je error reporting aanstaan en de code geïnclude in het bestand?

    Met vriendelijke groet,

    Victor
    Beheerder ICTscripters

  • thjeu
    Developer
    Ontvangen Reacties
    2
    Berichten
    501
    • 1 oktober 2014 om 10:31
    • #5

    Zoals je zelf al zegt; je snapt er niks van. Waarom dan gelijk beginnen met iets wat al een stuk moeilijker is? Zoals Victor ook al zei is dit niet echt verstandig.

    OOP is voor een beginnende programmeur misschien nog wel even lastig om te begrijpen, maar gelukkig zijn er 1000 verschillende tutorials. Bekijk deze serie bijvoorbeeld eens:

    Object-Oriented PHP for Absolute Beginners
    Object-Oriented PHP: Delving Deeper into Properties and Methods
    Object-Oriented PHP: Working with Inheritance
    Object-Oriented PHP: Autoloading, Serializing, and Querying Objects

    Als je echt OOP wilt toepassen, zul je er eerst veel tijd in moeten steken om het te leren. Simpelweg een login scriptje schrijven, daar zul je niks mee opschieten. OOP is namelijk een hele andere denkwijze van programmeren.

    TwistedMonkey - Media Productions

  • FrankY
    Another one bites the dust.
    Ontvangen Reacties
    3
    Berichten
    598
    • 1 oktober 2014 om 14:54
    • #6

    Begrijp me niet verkeerd, ik weet dat het allemaal heel anders is. Enigste reden waarom ik dit wou is zodat ik verder kan met Mysqli en niet helemaal vanaf het begin beetje teksten schrijven en die gewoon ophalen. Ik heb verschillende tutorials door gelezen en het is allemaal het zelfde.

    Ik zal deze tutorials zeker weten ook even doorlezen!

    Ik heb de code geinclude en zal mijn error reporting ook even in elke bestand zetten.

    Met vriendelijke groet,
    Frank Sijbom

    Bezig met cms:)

  • Victor
    Master
    Ontvangen Reacties
    102
    Berichten
    1.680
    • 1 oktober 2014 om 15:24
    • #7

    Je weet dat de code die ik gestuurd heb PDO is en geen Mysqli? :)

    Met vriendelijke groet,

    Victor
    Beheerder ICTscripters

  • FrankY
    Another one bites the dust.
    Ontvangen Reacties
    3
    Berichten
    598
    • 1 oktober 2014 om 15:45
    • #8

    Oh lol, ik dacht dat PDO iets anders dan OOP was ipv mysqli haha, my bad.. Maar dit kan de fout niet zijn, want ik heb nog niks aangeroepen uit database.

    Bezig met cms:)

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!

Maak een account aan Login

ICT Nieuws

  • Fijne feestdagen

    tcbhome 28 december 2025 om 13:55
  • Kritieke update voor Really Simple Security-plug-in

    K.Rens 16 november 2024 om 16:12
  • ING Nederland streeft naar ondersteuning van Google Pay tegen eind februari

    K.Rens 2 november 2024 om 16:09

Blogs

  • Functioneel ontwerp

    Dees 28 december 2014 om 12:38
  • Access Control List implementatie in PHP/MySQL - deel 1/2

    FangorN 28 december 2018 om 12:35
  • Access Control List implementatie in PHP/MySQL - deel 2/2

    FangorN 29 december 2018 om 12:37

Gebruikers die dit topic bekijken

  • 1 Gasten
  1. Marktplaats
  2. Design
  3. Voorwaarden
  4. Ons team
  5. Leden
  6. Geschiedenis
  7. Regels
  8. Links
  9. Privacy Policy
ICTscripters ©2005 - 2026 , goedkope hosting door DiMoWeb.com, BE0558.915.582
Sponsors: Beste kattenhotel provincie Antwerpen | Beste Zetes eid kaartlezer webshop
Style: Nexus by cls-design
Stylename
Nexus
Manufacturer
cls-design
Licence
Commercial styles
Help
Supportforum
Visit cls-design