• 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

  • 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
  • Op zoek naar de legends

    Jeffrey.Hoekman 9 december 2025 om 09:41
  • [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

class php mysqli connection?

  • futur3
  • 1 februari 2015 om 02:50
  • futur3
    Beginner
    Ontvangen Reacties
    1
    Berichten
    26
    • 1 februari 2015 om 02:50
    • #1

    Beste mensen mijn script doet niet zou iemand me kunnen helpen?
    system.php

    Display Spoiler
    PHP
    <?php
    class connection {
    public $info;
    public $arrlength;
    public $con;
    public $x;
    function defined ($data) {
    $this->info = $data;
    }
    function counter ($data) {
    $arrlength = count($this->data);
    }
    function def ($data) {
    $this->data = $data['host'];
    $this->data = $data['username'];
    $this->data = $data['password'];
    $this->data = $data['database'];
    }
    function connect($data) {
    for($this->x = 0; $this->x < $this->arrlength; $this->x++) {
    $this->con = mysqli_connect(
    $this->data['host'],
    $this->data['username'],
    $this->data['password'],
    $this->data['database']
    );
    }
    }
    
    
    }
    ?>
    Toon Meer


    config.php

    Display Spoiler
    PHP
    <?php
    require '/home/u800124831/public_html/content/config/system.php';
    $define = new connection;
    $define->data = array(
    "host" => "******************",
    "username" => "******************",
    "password" => "*****************",
    "database" => "**************"
    );
    
    
    ?>
    Toon Meer


    Greetz. futur3

  • Guest, wil je besparen op je domeinnamen? (ad)
  • Quitta
    C++/Java/Python/PHP/JS/CSS/XSLT/Haskell/Prolog
    Ontvangen Reacties
    6
    Berichten
    171
    • 1 februari 2015 om 03:41
    • #2

    I.v.m je fout:
    Je gaat iets specifieker moeten zijn. Wat is de error code of output die je ziet/krijgt?

    Ongerelateerd met je fout:
    Kuis je code op! ;) Gebruik indentation, volg de coding conventions. Dit zou toch wel basis kennis moeten zijn.
    voor meer info: PSR-2 — Coding Style Guide
    Dit maakt het nakijken op het forum makkelijker.

  • Patrick
    Back in the game
    Ontvangen Reacties
    52
    Berichten
    1.417
    • 1 februari 2015 om 09:00
    • #3

    Probeer eens het volgende:
    [PHP] &lt;?php class connection { static protected $con; protected $data; - Pastebin.com

  • futur3
    Beginner
    Ontvangen Reacties
    1
    Berichten
    26
    • 1 februari 2015 om 22:20
    • #4

    Ik heb zelf opnieuw iets geschreven ongeveer het zelfde en het werkt!
    Alleen als ik niks invul geeft hij ook geen error's aan maar dat zal ik oplossen.
    Maar bedankt voor de antwoorden/tips!
    Greetz.futur3

  • Teun
    Beginner
    Ontvangen Reacties
    2
    Berichten
    11
    • 2 februari 2015 om 07:58
    • #5
    Citaat van futur3

    Ik heb zelf opnieuw iets geschreven ongeveer het zelfde en het werkt!
    Alleen als ik niks invul geeft hij ook geen error's aan maar dat zal ik oplossen.
    Maar bedankt voor de antwoorden/tips!
    Greetz.futur3


    Gebruik in connect() het volgende;
    or die(mysqli_error());

  • Patrick
    Back in the game
    Ontvangen Reacties
    52
    Berichten
    1.417
    • 2 februari 2015 om 13:32
    • #6
    Citaat van Teun

    Gebruik in connect() het volgende;
    or die(mysqli_error());

    als je het dan netjes wilt doen middels een class doe je het afhandelen met een try / catch statement. Als je met classes werkt wil jij vrijwel ten alle tijden een die() voorkomen. Desnoods maak je je eigen excepetion class die je extend van de default php exception class zodat je het netjes kan afhandelen (i.e. foutmelding in layout verwerken, ergens naar laten wegschrijven etc.)

  • T.Nijborg
    Hoofd Moderators
    Ontvangen Reacties
    31
    Berichten
    504
    • 3 februari 2015 om 12:24
    • #7
    Citaat van futur3

    Ik heb zelf opnieuw iets geschreven ongeveer het zelfde en het werkt!
    Alleen als ik niks invul geeft hij ook geen error's aan maar dat zal ik oplossen.
    Maar bedankt voor de antwoorden/tips!
    Greetz.futur3

    Hey @futur3 zou je de code willen posten zoals je het werkend hebt gekregen? Dan Hebben andere er later misschien ook wat aan :) Alvast bedankt.

    PHP, JAVA, C#, JAVASCRIPT, HTML(5), CSS(3) developer.
    Vragen?! Stuur me gerust een prive bericht :) !

  • futur3
    Beginner
    Ontvangen Reacties
    1
    Berichten
    26
    • 4 februari 2015 om 21:29
    • #8

    Ik ben er nog mee bezig met het script maar hier hebben jullie het:
    class.php

    Display Spoiler
    PHP
    <?php
    require 'LINK';
    class defined {
    public $data = array();
    public $con;
    public $error;
    
    
        public function define($data) {
            $this->data = $data;
    
    
        }
    public function def($host , $username , $password , $database) {
       $this->data['host'] = $host;   
       $this->data['username'] = $username; 
       $this->data['password'] = $password; 
       $this->data['database'] = $database; 
    }
    public function count(){
    if(count($this->data) > 0) {
        //nothing ...
    }
    else {
      //error
    }
    
    
    }
    
    
    public function connect() {
      $this->con = mysqli_connect(
          $this->data['host'] , 
          $this->data['username'] , 
          $this->data['password'] , 
          $this->data['database']
          );
    }
    
    
    }
    
    
    ?>
    Toon Meer


    config.php

    Display Spoiler
    PHP
    <?php
    $class = new defined();
    $class->data = array(
    "host" => "",
    "username" => "",
    "password" => "",
    "database" => ""
    );
    $class->connect();
    
    
    ?>
    Toon Meer


    je ziet in het script:
    //nothing ...
    //error
    Daar ben ik ook nog mee bezig.

  • T.Nijborg
    Hoofd Moderators
    Ontvangen Reacties
    31
    Berichten
    504
    • 5 februari 2015 om 12:55
    • #9

    Super! Zo hebben andere leden er ook nog iets aan :)

    PHP, JAVA, C#, JAVASCRIPT, HTML(5), CSS(3) developer.
    Vragen?! Stuur me gerust een prive bericht :) !

  • FangorN
    Professional
    Ontvangen Reacties
    196
    Articles
    2
    Berichten
    737
    • 8 februari 2015 om 16:50
    • #10

    En, for the love of all that is good and holy, stel alsjeblieft een character encoding in, bijvoorbeeld utf8 (dit is geen typo, zo heet de UTF-8 character encoding in MySQL).

    Dit doe je middels een _set_charset() aanroep, bij voorkeur direct na het maken van een verbinding met je database.

    Wanneer je geen of de verkeerde character encoding instelt is er geen garantie dat je _real_escape_string() functionaliteit (waarmee je je queries beveiligt tegen SQL injectie) correct werkt.

    Daarnaast kan dit resulteren in het verkeerd encoden van data die je wegschrijft naar je database (lees: de data in je database is dan in feite dus CORRUPT). Hier heb je normaal geen last van (omdat MySQL veel voor je regelt onder de motorkap) totdat je je character encoding goed instelt, en dan heb je stront.

    Vervolgens is het het makkelijkste om in je hele applicatie je character encoding gelijk te schakelen. Gebruik daartoe een PHP header() aanroep, of stel het desnoods in in een meta-tag.

    Ik kan dit wel op een pamflet stempelen en elke keer uitdelen, want dit wordt keer op keer gewoon vergeten.

    Elke developer zou http://www.joelonsoftware.com/articles /Unicode.html eens moeten lezen...

  • FangorN
    Professional
    Ontvangen Reacties
    196
    Articles
    2
    Berichten
    737
    • 9 februari 2015 om 20:27
    • #11

    Ik heb die code nog eens bekeken, en die is toch wel heel wollig om enkel een connectie te maken... en regelt verder helemaal niets. Je zou je ook af kunnen vragen waarom je je login credentials zou willen onthouden binnen een object van de klasse? Wat is het nut / de toegevoegde waarde daarvan?

    Over try-catch vs die(): als je connectie mislukt omdat je login gegevens verkeerd zijn of de database op een of andere manier onbereikbaar is dan zou ik verdere uitvoer van het script gewoon staken met die(). Dit omdat er op dat moment waarschijnlijk iets grondig mis is in de (server)configuratie. Garanties ten aanzien van het (verder) correct werken van je applicatie kun je dan niet echt meer geven. Het is waarschijnlijk ook geen fout waar je snel (vanzelf) van zult "herstellen".

    Soms moet je de boel gewoon laten ontploffen in plaats van dingen tegen beter weten in draaiende proberen te houden. In dat laatste geval kun je er mogelijk pas in een heel laat stadium (of na heel veel onderzoek) achter komen dat iets gewoon niet werkt.

    Combinaties van fouten kunnen ook nieuwe fouten opleveren. Dat gaat je op den duur problemen opleveren die je niet meer uit de weg kunt gaan. En dan moet je dus dingen gaan repareren en dan is de kans heel erg groot dat je ineens een heleboel moet repareren als je daarvoor een strategie hanteerde waarbij je alle fouten onder het tapijt veegt.

    Om een heel andere reden is het bij PDO wel weer verstandig om je connectie te regelen binnen een try-catch blok. Dit vanwege het feit dat als de connectie (om wat voor reden dan ook) mislukt, er een exception ge-throwd wordt. Een exception die je niet catcht levert een fatal error op. En laten de lichten die bij de ontwikkeling van PDO actief zijn geweest nu bedacht hebben dat je login-gegevens afgedrukt worden in deze exception/fatal error... die liggen dan dus waarschijnlijk op straat als je dit zelf niet netjes afhandelt.

    Nadat je connectie "up and running" is (en ook andere objecten die je in je applicatie gebruikt succesvol zijn aangemaakt) zou je natuurlijk altijd een try-catch blok om de rest van je applicatie -en daarmee ook rond de uitvoer van queries- kunnen zetten. Het kan natuurlijk altijd voorkomen dat de uiteindelijke vorm van een query die dynamisch wordt opgebouwd niet goed is. Het is dan wel zo netjes dat eindgebruikers een nette foutpagina zien in plaats van een "or die(mysql_error())" boodschap. In je catch-blok kun je de fout ook ergens loggen zodat je later terug kunt lezen wat er fout ging.

    Ik zou zelf voor een wat andere aanpak kiezen als ik een "wrapper" zou schrijven voor mysqli. Eentje met toegevoegde waarde en een zeker gebruikersgemak. Indien gewenst kan ik een vereenvoudigde vorm posten voor wie interesse heeft.

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
  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