Mysql connection class

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Grafisch vormgever

Standplaats: Maasland Aantal uren: 32 – 40 uur per week Opleidingsniveau: HBO werk- en denkniveau Ben jij een ambitieuze grafisch vormgever met een passie voor creativiteit en oog voor detail? Vind jij het daarnaast leuk om ook marketingactiviteiten op te pakken? Dan zijn wij op zoek naar jou! Bedrijfsinformatie Westacc Group BV is het zusterbedrijf van HABA en specialiseert zich in (maatwerk) oplossingen voor (elektro) techniek en verlichting in de kampeerbranche. Zij produceren en assembleren onderdelen voor caravans, campers en boten. Voor een groot aantal caravan- en campermerken leveren wij producten als zekeringkasten, invoerdozen, acculaders, schakelmateriaal en verlichting. De producten

Bekijk vacature »

Full Stack Software Developer C#.NET

Functieomschrijving Wij zijn op zoek naar een gepassioneerde Full Stack C#.NET Software Developer. Als Software Developer ben je verantwoordelijk voor het ontwikkelen van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere ontwikkelaars en engineers om de sensoren in machines uit te lezen en deze data om te zetten in management informatie voor jullie klanten. Taken en verantwoordelijkheden: Ontwikkelen en onderhouden van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Testen en valideren van de ontwikkelde software. Actief deelnemen aan code reviews en bijdragen aan het verbeteren van de kwaliteit van de software. Je gaat aan

Bekijk vacature »

Junior full stack developer

Functie Als full stack developer binnen onze organisatie ga jij je bezig houden met het bouwen van de user experience van de webapplicaties. Je bent verantwoordelijk voor het vertalen van concepten, briefings en designs naar werkende functionaliteit. Hierbij zorg je ervoor dat applicaties betrouwbaar, veilig en toekomstbestendig zijn en een goede architectuur hebben en behouden. Verder denk je actief na- en mee over nieuwe ontwikkelingen en functionaliteiten om zo elke dag de klantervaring weer te verbeteren. Dit doe je natuurlijk niet alleen maar in een development team. Het team bedraagt momenteel 4 man bestaande uit 2 devops engineers en 2

Bekijk vacature »

Junior .NET developer

Functie Jij hebt natuurlijk net jouw Bachelor op zak en gaat nu voor het eerst aan de slag bij een werkgever als junior .NET ontwikkelaar. Waarschijnlijk lijkt het jou spannend om ineens aan de slag te gaan bij klanten in de consultancy. Maak je niet druk, jij komt hier terecht in een warm bad en wordt totaal niet in het diepe gegooid. Zodra jij hier begint wordt jij gekoppeld aan een persoonlijke manager met een persoonlijk ontwikkelplan. Jij krijgt een scala aan trainingen, denk aan trainingen ten behoeve van het opdoen van zelf kennis en gedragscompetenties, maar ook trainingen voor

Bekijk vacature »

.NET Developer Azure

Dit ga je doen Het ontwerpen en bouwen van diverse applicaties (C#, ASP.NET, MVC); Het ontwikkelen van Webservices (WCF); Het meewerken aan de transitie naar Azure; Het samenwerken met collega's binnen een Scrumteam en meedenken over de User Stories; Het bouwen van unittesten; Meedenken over nieuwe tooling, ontwikkelingen en technologieën in de markt. Hier ga je werken Je komt te werken bij een organisatie die verantwoordelijk is voor de ontwikkeling van verschillende portalen. Deze portalen worden gebruikt door diverse partijen en jouw taak is om ervoor te zorgen dat deze optimaal functioneren. Je wordt onderdeel van een Scrumteam en werkt

Bekijk vacature »

Java Developer / Sociaal domein

Dit ga je doen Nieuwbouw en doorontwikkeling; Beheer en wanneer nodig onderhoud; Bijdrage leveren in het functioneel- en technisch ontwerptraject; Analyseren van productie verstoringen; Meedenken over vernieuwingen en verbeteringen. Hier ga je werken De organisatie waar jij komt te werken focust zich op software development met een maatschappelijk tintje. De afdeling software ontwikkeling bestaat uit vijf verschillende scrum teams, met allen hun eigen focus gebied. Zo zijn er een aantal teams die zich focussen op specifieke applicaties, maar is er ook een team gericht op projecten. Binnen de organisatie staat innovatie en kwaliteit voorop. Een aantal applicaties draait nog op

Bekijk vacature »

Senior Front-end Developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als Senior Front-end Developer aan de slag? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Onze klantenkring is groot en divers, dat vraagt om flexibiliteit van jou. Tegelijkertijd betekent dit dagelijks nieuwe dingen leren én dat geen werkdag hetzelfde is. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling waarbij iedereen welkom is, zowel

Bekijk vacature »

.NET developer

Functie Als junior .NET Developer start jij in een team met 15 developers. In het team is er genoeg senioriteit om ervoor te zorgen dat jij de juiste begeleiding krijgt. Jij begint als eerst alle software pakketten en processen eigen te maken. Vervolgens ga jij deze software programmeren, onderhouden en testen. Ook ga jij research doen naar nieuwe mogelijkheden en zoek jij uit hoe je dit kan implementeren. Jullie werken intern op project basis en afhankelijk van het project werken jullie wel of niet iedere ochtend met een standup. 50% van jullie werkzaamheden is maatwerk en de overige 50% is

Bekijk vacature »

Full Stack Java ontwikkelaar

Functieomschrijving Voor de politie zijn wij op zoek naar een Full stack Java ontwikkelaar. Als ervaren full stack Java ontwikkelaar binnen de gewenste deadlines meewerken aan de totstandkoming van de gewenste werkzaamheden. Taken Upgraden van GeoServer, SOLR, Oracle Spatial database, Tomcat Migreren Oracle Spatial naar PostgreSQL/PostGIS Migreren SOLR naar ElasticSearch Geografische gegevens op het interne netwerk beschikbaar maken Doorontwikkelen en actualiseren van de geografische services Het up to date brengen van de CI/CD pipeline, samen met medewerkers die verantwoordelijk zijn voor de CI/CD tooling Aanspreekbaar op de solution architectuur en stemt die met collega's in het cluster Geo De opdracht

Bekijk vacature »

Junior Low-code ontwikkelaar gezocht omgeving Arnh

Bedrijfsomschrijving Wij zijn een dynamisch IT-bedrijf dat zich richt op het stroomlijnen van bedrijfsprocessen en het creëren van ondersteunende applicaties. Onze kracht ligt in het combineren van zakelijk inzicht met IT-expertise via gestroomlijnde procesontwerpen en wendbare applicatieontwikkeling met behulp van Low-code technologieën. Als jonge professional krijg je de kans om samen te werken met een team van 15 deskundige collega's, verspreid over nationale en internationale locaties. We bieden je een leerzame omgeving waar je je vaardigheden kunt ontwikkelen en groeien in je rol als Low-code ontwikkelaar. Word jij onze nieuwe Junior Low-code Ontwikkelaar (OutSystems)? Versterk ons team en draag bij

Bekijk vacature »

PHP Developer

Als PHP Developer bij Coolblue zorg je ervoor dat onze webshops elke dag een beetje beter zijn. Wat doe je als PHP Developer bij Coolblue? Als PHP Developer werk je met andere development teams samen om onze webshop zo optimaal mogelijk te laten werken en onze klanten blij te maken. Hoewel je een PHP Developer bent, sta je open om C# of Typescript in te zetten of te leren. Ook PHP Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te doen pure PHP code schrijven. Samenwerken met de klantreiziger om onze klanten

Bekijk vacature »

VB.NET developer

Functie Het development team waar jij in terecht komt bestaat uit twee ervaren software developers. De directeur/eigenaar is tevens één van deze developers. Jij werkt direct samen met jouw werkgever en kan dan ook veel kennis en ervaring bij dit bedrijf op doen. Als team zijn jullie verantwoordelijk voor de kantoorapplicatie die deze organisatie aanbied in een niche markt. Het team is op dit moment actief bezig met een migratie waarbij het eindstation eindigt in een C# .NET omgeving. Echter is een deel van de software al geschreven in C# .NET. Hierbij is gebruik gemaakt van C# .NET, CSS, HTML,

Bekijk vacature »

Lead developer

Functie Als lead developer wordt jij verantwoordelijk voor een van onze development teams. Samen met de Software Architect bewaak jij de kwaliteit en uitvoering van onze complexe vraagstukken. Daarnaast ben jij verantwoordelijk voor het inschatten, designen en ontwikkelen van middelgrote tot grote veranderingen in de software. Ook coördineer jij het proces rondom complexe technische vraagstukken. Verder bestaat jouw takenpakket uit het volgende: – Het aansturen van jouw development team; – Het begeleiden van Junior Software Engineers; – Het maken van technische analyses m.b.t. nieuwe aanvragen en het tijdsbestek inschatten voor de uitvoering hiervan; – Het uitvoeren van de ontwikkeling van

Bekijk vacature »

Full stack developer

Functie Binnen een ontzettend stimulerende werkomgeving kom jij te werken in een software team van 14 developers. Met ontzettend stimulerend bedoel ik een modern pand, wat voorzien is van alle nodige soft- en hardware, zodat jij jouw werk goed kan uitvoeren. Daarnaast zitten ze in een bos, waardoor je in een groene omgeving rustig kunt werken. Het team bestaat uit front end, back end en full stack developers. Jij krijgt dus de keuze hier waar jij jezelf het liefst op zou richten, maar de voorkeur gaat uit naar back end. Er wordt hier Scrum (agile) gewerkt in multidisciplinaire teams met

Bekijk vacature »

Senior C# Software Ontwikkelaar te Zaandam

Bedrijfsomschrijving Deze werkgever heeft als missie om haar klanten op ICT-gebied volledig te ontzorgen. Ze zijn een ICT bedrijf met een verscheidenheid aan ICT oplossingen waaronder Cloud oplossingen en een groot deel van het werk is gericht op software realisatie. Voor de Enterprise-klanten voert het relatief kleine ontwikkelteam waar jij deel uit van kan gaan maken binnen deze organisatie te Zaandam de grootste opdrachten uit. Niet alleen websites en complexe webapplicaties maar ook mobile apps, web services en complete systeemintegraties! Je moet dan denken aan Dynamics, Sharepoint en Salesforce. Je komt hier terecht in een relatief kleine organisatie met ontzettend

Bekijk vacature »
Youri van Mill

Youri van Mill

08/10/2010 14:39:33
Quote Anchor link
Ik ben nieuw in OOP.

Ik heb doormiddel van tuts een connectie class gemaakt.

Doe ik het zo goed, op deze manier?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
class MySQL
{
    private $_host;
    private $_username;
    private $_password;
    private $_db;
    
    private $_conn;
  
    public function __construct($host, $user, $pass, $db)
    {
        $this->_host = $host;
        $this->_username = $name;
        $this->_password = $pass;
        $this->_db = $db;
    }

    public function connect()
    {
        $this->_conn = mysql_connect($this->_host, $this->_username, $this->_password);
        
        if(!$this->_conn)
        {
            return mysql_error();
        }
    }
}
 
PHP hulp

PHP hulp

04/05/2024 13:53:45
 
- Ariën  -
Beheerder

- Ariën -

08/10/2010 19:18:43
Quote Anchor link
Het is geen connectie class, maar een MySQL class. Je man ook fetchen o.a toevoegen.
 
Youri van Mill

Youri van Mill

08/10/2010 22:59:10
Quote Anchor link
Het is natuurlijk ook de bedoeling om één aantal dingen toe te voegen.

Maar ben ik zo goed op weg?
 

08/10/2010 23:03:12
Quote Anchor link
Ik zou niet die error returnen in die connect. Maar dus de waarde van die connect.
Verder kan je eens naar pdo en mysqli kijken.
 
Loran DP

Loran DP

08/10/2010 23:06:49
Quote Anchor link
Miss heb je hier iets aan:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
public function connect( $server, $username, $password, $database )
    {

        global $link;
        
        $link = new mysqli( $server, $username, $password, $database );
        
        // check connection
        if( mysqli_connect_errno() )
        {

            printf("Database connection failed: %s\n", mysqli_connect_error());
            exit();
        }
    }

?>
 

08/10/2010 23:16:26
Quote Anchor link
ILoran punt NL op 08/10/2010 23:06:49:
Miss heb je hier iets aan:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
public function connect( $server, $username, $password, $database )
    {

        global $link;
        
        $link = new mysqli( $server, $username, $password, $database );
        
        // check connection
        if( mysqli_connect_errno() )
        {

            printf("Database connection failed: %s\n", mysqli_connect_error());
            exit();
        }
    }

?>


Gatver-tyfus-damme. WTF moet deze onzin voortellen?
- Functie om klasse heenschrijven? Gebruik dan geen klasse.
- Global? Global is vies, weg met global.
- Waarom kan je niet gewoon mysqli aanroepen, kan je gewoon $link gebruiken.
- Procedurale ondersteuning van mysqli is er alleen voor om te zorgen dat oudere php versies ook mysqli kunnen gebruiken. Waarom heb je dus niet gewoon de standaard OO manier gebruikt?
- NOOIT de fout die mysql teruggeeft aan de gebruiker weergeven. Alleen gebruiken voor debuggen.
- GA ZELF DOOD NEER VALLEN!
Gewijzigd op 08/10/2010 23:16:55 door
 
Loran DP

Loran DP

08/10/2010 23:19:27
Quote Anchor link
@Karl,

Waar slaat jouw reactie op?
Heel toevallig stond het zo in mijn schoolboek.....


Helaas wel!

"- GA ZELF DOOD NEER VALLEN!"
DOE NORMAAL!
 
Jelmer -

Jelmer -

09/10/2010 00:24:33
Quote Anchor link
Youri van Mill op 08/10/2010 14:39:33:
Ik ben nieuw in OOP.

Doe ik het zo goed, op deze manier?


Het werkt, dus je doet het niet heel fout. Maar waarom sla je de gebruikersnaam op in een member-variabele? Nadat je een verbinding hebt gemaakt, heb je die toch niet meer nodig?

Op zich is het niet nuttig om voor MySQL een class te maken, die zijn er al. PHP Heeft MySQLi en PDO, en zo'n beetje iedereen die een beetje PHP programmeert heeft er zelf wel eens een geschreven. Zelfs jij. Het is dus niet de meest nuttige class om te schrijven, het is wel heel handig om het te leren, want er zijn zat voorbeelden.

Welke kant ga je op? Ga je één grote class maken die query() functie heeft, en een fetch() functie, waarmee je dus eigenlijk gewoon de mysql_* functies 1 op 1 in je class zet. Ga je hem uitbreiden met handige functies die queries genereren zoals select() en count()? Of ga je meer PDO's kant op waarbij prepare() en query() een PDOStatement object teruggeven waaruit je dan de results kan ophalen? Of ga je nog veel verder en ga je tabellen en velden en conditions en statements allemaal als classes modeleren zodat je je query volledig kan programmeren en kan genereren met PHP, waardoor je voor een simpele select-query plotseling 6 regels nodig hebt?
 
- Raoul -

- Raoul -

09/10/2010 09:10:44
Quote Anchor link
Waarom zou je een class aanmaken om te connecten met MySQL,
er bestaat hier al een functie voor, dus ik vind dit overbodig.
 

09/10/2010 09:17:16
Quote Anchor link
ILoran punt NL op 08/10/2010 23:19:27:
@Karl,

Waar slaat jouw reactie op?
Heel toevallig stond het zo in mijn schoolboek.....


Helaas wel!

"- GA ZELF DOOD NEER VALLEN!"
DOE NORMAAL!


Inmiddels zou jij al twee dingen moeten weten. Namelijk dat schoolboeken het bijna nooit bij het juiste end hebben en dat exit / die doen omdat er een foutjes was ontzettend vies is.
Jij zegt nu in principe hetzelfde als ik tegen jou zeg. Denk eens na. Dat is toch helemaal niet de bedoeling?
Ook moet juist goed oppassen met schoolboeken, die bevatte vaak verkeerde / achterhaalde / slechte informatie.

Jelmer rrrr op 09/10/2010 00:24:33:
Youri van Mill op 08/10/2010 14:39:33:
Ik ben nieuw in OOP.

Doe ik het zo goed, op deze manier?

(...)
Welke kant ga je op? Ga je één grote class maken die query() functie heeft, en een fetch() functie, waarmee je dus eigenlijk gewoon de mysql_* functies 1 op 1 in je class zet. Ga je hem uitbreiden met handige functies die queries genereren zoals select() en count()? Of ga je meer PDO's kant op waarbij prepare() en query() een PDOStatement object teruggeven waaruit je dan de results kan ophalen? Of ga je nog veel verder en ga je tabellen en velden en conditions en statements allemaal als classes modeleren zodat je je query volledig kan programmeren en kan genereren met PHP, waardoor je voor een simpele select-query plotseling 6 regels nodig hebt?

Of ga je nog verder en maak je er een ORM van zoals doctrine?

Internet Verslaafde op 09/10/2010 09:10:44:
Waarom zou je een class aanmaken om te connecten met MySQL,
er bestaat hier al een functie voor, dus ik vind dit overbodig.

Reasons for using classes.
 
Niels K

Niels K

09/10/2010 14:53:12
Quote Anchor link
Kijk hier eens naar:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
<?php

/**
 * Interface.php. Dit bestand bevat alle interfaces die bij de Database package horen.
 * De Database package bevat alle klassen die rechtstreeks met de Database communiceren
 * en gebruik maken van Database specifieke functies uit PHP.
 * Dit bestand bevat alle interfaces die te maken hebben met de Database package.
 * De interfaces dwingen af hoe een Database en een DatabaseResult eruit moet komen te zien.
 *
 * @package Database
 * @throws DatabaseException
 * @author Niels Kieviet <[email protected]>
 * @version $Revision v.100$
 * @copyright Copyright (c) 2010, Niels Kieviet
 */


require_once dirname( __FILE__ ) . '/exception.php';

/**
 * De Database interface. Deze interface wordt gebruikt om aan te geven hoe een Database eruit moet zien.
 * De Database kan verbinding maken en er kunnen queries op uitgevoerd worden. Het resultaat van een query
 * wordt verwerkt door het DatabaseResult. Alle methoden uit deze interface maken het mogelijk om op een
 * generieke manier acties uit te voeren op de database.
 */

interface Database
{
    /**
     * Methode die verbinding met de database maakt. Gebruik makend van de meegegeven login gegevens
     *
     * @param String $host De host waar de database gehost staat
     * @param String $username De gebruikersnaam om in te loggen op de database
     * @param String $password Het wachtwoord om in te loggen op de database
     * @param String $database De naam van de database waarmee verbinding gemaakt moet worden
     * @return Void
     */

    public function connect( $host, $username, $password, $database );
    
    /**
     * Methode om de opgegeven query uit te voeren op de database
     *
     * @param String $query De query die uitgevoerd moet worden op de database
     * @throws DatabaseException Een opgetreden foutmelding wordt door de DatabaseException opgevangen.
     * @return DatabaseResult Het resultaat van de query
     */

    public function query( $query );
}


/**
 * De DatabaseResult interface. Deze interface wordt gebruikt om een resultaat van een query op de Database
 * te beschrijven.
 *
 * Op het moment dat een query uitgevoerd wordt, komt er een DatabaseResult terug. De DatabaseResult bevat
 * het resultaat van de query en geeft de mogelijkheid om dit resultaat op diversen manieren op te vragen.
 */

interface DatabaseResult
{
    /**
     * Methode om een enkele regel uit het resultaat op te vragen in de vorm van een array met key => value
     * paren. Elke key correspondeert met een geselecteerd veld uit de database.
     *
     * @return Array Een enkele regel uit het resultaat in vorm van een array met key => value paren
     */

    public function fetch_assoc( );
    
    /**
     * Methode om het hele resultaat in één array op te vragen. De array is een lijst van alle geselecteerde
     * regels opgevraagd met de fetch_assoc methode
     *
     * @return Array Een lijst met alle geselecteerde regels
     */

    public function fetch_all( );
    
    /**
     * Methode om het aantal regels uit het resultaat op te vragen.
     *
     * @return Integer Het aantal regels waaruit het resultaat bestaat
     */

    public function rows( );
}

?>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?php

/**
 * mysql.database.php. Dit bestand bevat alle klassen die specifiek gericht zijn in het
 * communiceren met een MySQL database.
 *
 * @package Database
 * @throws DatabaseException
 * @author Niels Kieviet <[email protected]>
 * @version $Revision v.100$
 * @copyright Copyright (c) 2010, Niels Kieviet
 */


require_once dirname( __FILE__ ) . '/interface.php';
require_once dirname( __FILE__ ) . '/exception.php';
require_once dirname( __FILE__ ) . '/mysql.result.php';

/**
 * De MySQL klasse. De MySQL is een implementatie van de Database interface specifiek gericht
 * om te communiceren met een MySQL database
 */

class MySQL implements Database
{
    /**
     * In deze variabele wordt de database connectie opgeslagen
     *
     * @var MySQLObject
     */
    
    private $connection;
    
    /**
     * Methode die verbinding met de database maakt. Gebruik makend van de meegegeven login gegevens
     *
     * @param String $host De host waar de database gehost staat
     * @param String $username De gebruikersnaam om in te loggen op de database
     * @param String $password Het wachtwoord om in te loggen op de database
     * @param String $database De naam van de database waarmee verbinding gemaakt moet worden
     * @return Void
     */

    public function connect( $host, $username, $password, $database )
    {

        if( !$this->connection = mysql_connect( $host, $username, $password ) ) {
            throw new DatabaseException( 'Kon geen verbinding met de database tot stand worden gebracht' );            
        }

        if( !mysql_select_db( $database, $this->connection ) ) {
            throw new DatabaseException( mysql_error( ) );
        }
    }

    
    /**
     * Methode om de opgegeven query uit te voeren op de database
     *
     * @param String $query De query die uitgevoerd moet worden op de database
     * @throws DatabaseException Een opgetreden foutmelding wordt door de DatabaseException opgevangen.
     * @return DatabaseResult Het resultaat van de query
     */

    public function query( $query )
    {

        $result = mysql_query( $query, $this->connection );
        
        if( !$result ) {
            throw new DatabaseException( mysql_error( ) );
        }

        return new MySQLResult( $result );
    }
}

?>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<?php

/**
 * mysql.result.php. Dit bestand bevat alle klassen die specifiek te maken hebben
 * met het resultaatset van een MySQL database.
 *
 * @package Database
 * @throws DatabaseException
 * @author Niels Kieviet <[email protected]>
 * @version $Revision v.100$
 * @copyright Copyright (c) 2010, Niels Kieviet
 */

/**
 * De MySQLResult klasse is een implementatie van de DatabaseResult interface
 * die specfieke gericht is op het communiceren met een MySQL database.
 * De klasse vangt het resultaat op wat verkegen is van de MySQL database klasse.
 */

class MySQLResult implements DatabaseResult
{
    /**
     * In deze variabele wordt het resultaat opgeslagen
     *
     * @var MySQLResultObject
     */

    private $result;
    
    /**
     * De constructor maakt een nieuwe MySQLResult gebruik makend van de result
     * handler verkregen bij het uitvoeren van een query.
     *
     * @param Handler $result De result handler verkregen bij het uitvoeren van een query
     * @return Void
     */

    public function __construct( $result )
    {

        $this->result = $result;
    }

    
    /**
     * Methode om een enkele regel uit het resultaat op te vragen in de vorm van een array met key => value
     * paren. Elke key correspondeert met een geselecteerd veld uit de database.
     *
     * @return Array Een enkele regel uit het resultaat in vorm van een array met key => value paren
     */

    public function fetch_assoc( )
    {

        return mysql_fetch_assoc( $this->result );
    }

    
    /**
     * Methode om het hele resultaat in één array op te vragen. De array is een lijst van alle geselecteerde
     * regels opgevraagd met de fetch_assoc methode
     *
     * @return Array Een lijst met alle geselecteerde regels
     */

    public function fetch_all( )
    {

        $result = array( );
        while( $row = $this->fetch_assoc( ) ) {
            $result[] = $row;
        }

        return $result;
    }

    
    /**
     * Methode om het aantal regels uit het resultaat op te vragen.
     *
     * @return Integer Het aantal regels waaruit het resultaat bestaat
     */

    public function rows( )
    {

        return mysql_num_rows( $this->result );
    }
}

?>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
 
/**
 * Exception.php. Dit bestand bevat alle exception klassen de bij de Database package horen.
 * De Database package bevat alle klassen die rechtstreeks met de Database communiceren
 * en gebruik maken van Database specifieke functies uit PHP.
 *
 * @package Database
 * @subpackage Exception
 * @author Niels Kieviet <[email protected]>
 * @version $Revision v.100$
 * @copyright Copyright (c) 2010, Niels Kieviet
 */

/**
 * De DatabaseException klasse. De DatabaseException klasse is een extentie van de standaart
 * Exception klasse en wordt gebruikt om fouten die optreden tijdens het gebruik van de database
 * naar voren te brengen.
 *
 * De DatabaseException klasse is gemaakt om het mogelijk te maken om in een try catch blok
 * het verschil te maken tussen een normale Exception en een DatabaseException
 */

class DatabaseException extends Exception { }
?>
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.