• Inloggen
  • Registreer
  • Zoeken
Dit topic
  • Overal
  • Dit topic
  • Dit forum
  • Artikelen
  • Pagina's
  • Forum
  • Downloads
  • Meer opties

ICTscripters

Dé plek voor IT

Dé plek voor IT

Aanmelden

Geavanceerde opties
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  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
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  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
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  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
  1. Dé plek voor IT - ICTscripters
  2. Forum
  3. Scripting & programmeren
  4. PHP + SQL

Forum

  • [Beta] Ottomaan: gratis browserspel met een echte, levende stad. Feedback gezocht!

    frio 27 oktober 2026 om 12:22
  • Port Father: beta van een browsergame in Antwerpen 1931, feedback welkom

    Jeroen.G 26 oktober 2026 om 10:33
  • Maffia Hotel: een browsergame waarin je van lobbygast naar spil van het hotel groeit

    eeyk 22 oktober 2026 om 18:43
  • Crime Club volledig herschreven vanaf nul

    frio 19 oktober 2026 om 23:57
  • Malavita (nieuwe maffia game, van 0)

    jos 19 oktober 2026 om 23:18
  • Herkent deze Notion-structuurscan echte problemen?

    Jeroen.G 19 oktober 2026 om 15:09
  • 🚀 WE ZOEKEN TESTERS! 🚀

    Servertjee 3 oktober 2026 om 10:56
  • Luchtvaartsoftware: Hoe technologie de moderne luchtvaart verandert

    saggy2829 30 september 2026 om 19:31

Marktplaats

  • [Verkoop] G4G (Gangsters 4 Gangsters): volledige broncode, nieuw gebouwd in PHP 8.3 | € 30 per domein

    frio 27 oktober 2026 om 18:54
  • [TE KOOP] Malavita.be [Maffiaspel, gebaseerd op omicidio.nl, unieke code]

    Dpm_x 26 oktober 2026 om 00:22
  • TK: Kraai.eu

    frio 25 oktober 2026 om 11:39

Mysql connect class

  • YVMdesign
  • 27 februari 2010 om 00:27
  • YVMdesign
    Gevorderd
    Berichten
    357
    • 27 februari 2010 om 00:27
    • #1

    Ik heb een script veranderd en wat uitgebreid tot dit gemaakt.

    Wie kan mij zeggen wat ik er nog aan kan veranderen.

    Connect class

    PHP
    class Connect
    {
    	public function connect($host, $user, $pass ,$db)
    	{
    		$this->link = @mysql_connect($host, $user, $pass);
    		if(!$this->link)
    		{
    	        echo mysql_error();
    	        die;
    		}
    		
    		if (!@mysql_select_db($db, $this->link))
    		{
    	        echo mysql_error();
    	        die;
    		}
    	}
    	
    	public function query($query)
    	{		
    		$this->connect($this->host, $this->user, $this->pass, $this->db);
    		
    		$result = mysql_query($query, $this->link);
    		if(!$result) {
    			echo mysql_error($this->link);
    			die;
    		}
    		
    		return $result;
    	}
    	
    	public function fetch($query, $type)
    	{
    		if ($type == "assoc")
    		{
    			return mysql_fetch_assoc($sql);
    		}
    		elseif ($type == "object")
    		{
    			return mysql_fetch_object($sql);
    		}
    	}
    }
    Meer tonen

    Alles is welkom (ook negatief)

    Mvg.

  • Gast, wil je besparen op je domeinnamen? (ad)
  • CrimeXL
    Leerling
    Berichten
    68
    • 27 februari 2010 om 00:30
    • #2

    MySQLi?

  • YVMdesign
    Gevorderd
    Berichten
    357
    • 27 februari 2010 om 00:30
    • #3

    Ik wil bij MySQL blijven.

    Wil nog niet de overstap maken naar MySQLi.

  • Darsstar
    Vreemd
    Berichten
    1.173
    • 27 februari 2010 om 11:04
    • #4

    Waarom?
    MySQLi is alleen maar een verbeterde set van functies die meer kan dan de mysql_* functies.
    Ook kan je met de MySQLi class werken als je dat fijner vind.

    Maar dat terzijde.
    1) De naam van je class is een beetje onduidelijk, MySQL zou een betere naam zijn.
    2) je echoëd dingen binnen de class, gebruik exceptions.
    3) ik zie drie keer die; staan, gebruik exceptions.
    4) werk met een PHP 5 constructor, niet met een PHP 4 constructor (__construct() ipv naamvandeclass() *)
    5) geen errors onderdrukken.
    6) defineer de protected property "link" in je class.
    7) geef $host, $user, $pass de standaard waarde van NULL en zet $db helemaal vooraan*
    8) laat de query() method bij select queries een MySQL_Result object returnen**
    9) werk bij de fetch() method met TRUE en FALSE ipv een string,
    als je dan TRUE (===) voor mysql_fetch_object() gebruikt, een string voor mysql_fetch_object() met de tweede parameter gebruikt, en dan de rest voor mysql_fetch_assoc() gebruikt heb je altijd wel iets wat gereturned word. (en een coole feature)

    *

    PHP
    public function __construct($db, $host = NULL, $user = NULL, $pass = NULL)


    **
    Geef hoe dan ook de ruwe SQL aan beide constructors mee.

    PHP
    return new MySQL_Result($result, $query);


    En dan kun je de de fetch() method verplaatsen naar de MySQL_Result class en daar interfaces gebruiken zodat je niet alleen met een while/for loop door de results kan loopen, maar ook met een foreach loop =]

    miauw!

  • NielsB
    Junior (Web)Developer
    Berichten
    948
    • 27 februari 2010 om 11:05
    • #5

    Tip:

    PHP
    public function fetch($query, $type) 
        { 
            if ($type == "assoc") 
            { 
                return mysql_fetch_assoc($sql); 
            } 
            elseif ($type == "object") 
            { 
                return mysql_fetch_object($sql); 
            } 
        }
    Meer tonen


    Je doet hier een if en elseif!
    Maar als je assoc vaker gebruikt waarom doe je het dan niet op volgende manier:

    PHP
    public function fetch($query, $type = 'assoc') 
        { 
            if ($type == "object") 
                return mysql_fetch_object($sql); 
            else
                return mysql_fetch_assoc($sql); 
        }

    Je geeft gewoon gelijk standaard type mee zo hoef je niet altijd een type mee te geven ;)

    Verder ga jij last krijgen van db connection!
    Je site gaat langszamer draaien door dat je bij elke query een connection aanroept.
    Credits by Darsstar die had het bij mij ook verholpen!

    Probeer gebruik te maken van een static instance, zodat je gaat tellen of er al verbinding is. Zo ja geen nieuwe verbinding maken en gelijk met de query verder, anders moet hij connectie gaan maken.

    Ook is het zo als je myqsli gebruikt dat je het jezelf nog makkelijker kan maken en dat de class dan nog wat sneller kan worden ook.

    Ik zal voorbeeld geven hoe ik bijv mijn query aan roep:
    // Query maken wanneer er verbinding is met de server en database.
    $query = $this->_connection->query($sQuery);

    Die $this->_connection is de variabel die ik gebruik om mijn connection code in te zetten, zelfde als wat jij doet als $this->link, alleen heb ik deze connection variabel gebruikt om het vaker te kunnen gebruiken.

    Daar naast kan je een handige try block gebruiken om te kijken of een query bestaat en zo niet kan je een errorhandler erin verwerken zoals trow new exception.

    Ik hoop dat je het nog volgt, en anders moet je het maar zeggen wat je niet snapt.


    Verder zie ik dat darsstar al aantal dingen nu verteld, die ik eigenlijk ook wilde vertellen.
    Bedankt voor de moeite dos!

    School
    Tweedejaars Informatica Student @ Hogeschool Rotterdam.

    Webtalen
    - PHP ( OOP )
    - SQL
    - JavaScript i.c.m. jQuery framework
    - (x)HTML
    - CSS
    - Actionscript
    - XML

    Programmeertalen
    - Java
    - C#
    - Ruby i.c.m. on Rails framework

Registratie

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

Nu registreren Aanmelden

ICT Nieuws

  • PHP waarschuwt voor twee ernstige bugs die makkelijk uit te buiten lijken

    Aaron 22 oktober 2026 om 22:19

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. Privacyverklaring
  10. Contact
ICTscripters ©2005 - 2026 , goedkope hosting door DiMoWeb.com, BE0558.915.582
Sponsors: Beste kattenhotel provincie Antwerpen
Style: Nexus by cls-design
Stylename
Nexus
Manufacturer
cls-design
Licence
Commercial styles
Help
Supportforum
Visit cls-design