OOP User classe

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior Developer Betty Blocks Blauwe Haven Rotterd

Functieomschrijving Voor de Politie zijn wij opzoek naar een Senior Developer Betty Blocks Blauwe Haven Rotterdam. De politieorganisatie heeft jaarlijks te maken met een aanzienlijk aantal politiemedewerkers die vanwege mentale overbelasting niet of beperkt inzetbaar zijn. De Blauwe Haven Rotterdam ondersteunt deze politiemedewerkers in hun herstel en re-integratieproces. De huidige digitale systemen van de Politie bieden onvoldoende ondersteuning in het herstel- en re-integratieproces van politiemedewerkers. Zowel voor de politiemedewerkers als voor de organisatie. Politiemedewerkers worden buitengesloten, waardoor zij eigen regie verliezen. Begeleiders kunnen de voortgang van de medewerkers niet goed monitoren. Management beschikt niet over de mogelijkheid trends te signaleren

Bekijk vacature »

Back end developer Onderwijssoftware

Functie Als back end developer kom jij terecht in een klein, maar hecht team bestaande uit 5 andere developers (waarvan 2 senioren, 2 medior en 1 junior). Met de gezamenlijke missie om “ieder kind te helpen met onze software” wordt er dagelijks gepassioneerd en hard gewerkt aan ons in-house ontwikkeld platform. Deze software is gebaseerd is op AI, machine Learning en wetenschappelijke inzichten. Dagelijks zul jij werken met onze high traffic webapplicatie. We hebben ruim 300.00 gebruikers en meer dan 2 miljard records waar je te maken mee krijgt! Verder zul jij je bezighouden met: – Het ontwikkelen van hoogwaardige

Bekijk vacature »

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 »

PHP Developer

Functie Middels Scrum en sprints bouw jij in deze functie mee aan complexe webapplicaties en ons SaaS platform. Hierbij hoort ook architectuur tot een van je taken. Daarnaast ben je één van de leden van het Scrum team. Dat betekent dat je naast je kerntaken ook in contact staat met de product owner. Oftewel, je bent bij het gehele ontwikkelproces betrokken. Tools die hierbij gebruikt worden zijn o.a. PHP, Symfony en Git. Eisen • Minimaal HBO werk- en denkniveau • Minimaal 3 jaar aantoonbare ervaring met PHP • Kennis en ervaring Symfony (Laravel is pré) & Lando • Kennis van

Bekijk vacature »

Fullstack developer - medior

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie willen werken? Voor een mooi softwarebedrijf in omgeving Gorinchem zijn wij op zoek naar versterking. Als Fullstack developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Werkzaamheden Jouw focus ligt op de front end en alles wat daarbij komt kijken. Je gaat ontwerpen, ontwikkelen, testen en valideren. Je zult voornamelijk werken met React.js en Typescript. Maar ook Javascript, HTML en CSS komen aanbod. Daarnaast zal je ook regelmatig met de back end werken! Bedrijfsprofiel Onze

Bekijk vacature »

Outsystems Developer Medior

Dit ga je doen Bouwen aan nieuwe en innovatieve applicaties; Maken van koppelingen tussen Outsystems en het bestaande applicatielandschap; Troubleshooting op bestaande software. Hier ga je werken De organisatie is internationale speler binnen de bouwbranche en richt zich op de infrastructuur, zowel boven als onder de grond. Ze zijn ruim 1100 man groot en maken op IT vlak een mooie groei door. Als ervaren Developer kom je te werken op een IT-afdeling van zo'n 25 man groot. Een aantal jaar geleden hebben ze de keuze gemaakt om zich meer te gaan richten op ontwikkeling en door de groei van de

Bekijk vacature »

Web Application Developer

Dit ga je doen Samen met het team werk je aan de visualisatie functionaliteiten en hoe dit gebruikt kan worden in een operationele setting; Het ontwerpen, ontwikkelen, onderhouden en leveren van support betreft het Warehouse Management Systeem en de bijbehorende web visualisaties; Je gebruikt hierbijde tools WebGL en ASP.net; Het meewerken in implementatieprojecten; Het leveren van Go-Live Support; Sparren met jouw Amerikaanse collega's. Hier ga je werken Voor een internationale organisatie in de transport zijn wij momenteel op zoek naar een Web Application Developer. Ze zijn wereldwijd de grootste speler en lopen voorop met het automatiseren van alle processen van

Bekijk vacature »

PHP Laravel developer

Functie omschrijving Weet jij alles van Laravel en krijg je energie van het ontwikkelen van software hiermee? Laat snel wat van je horen want wij zoeken een PHP/Laravel developer in regio 's-Hertogenbosch. Jouw taken zullen bestaan uit: Softwareapplicaties ontwikkelen en verder optimaliseren in veel diverse projecten op basis van Agile/Scrum. Uitleg geven over software en applicaties Klantcontact hebben over bestaande applicaties. Documentatie schrijven over applicaties. Techstack: PHP, Laravel, HTML, CSS, Javascript. Bedrijfsprofiel Deze organisatie zit in de regio van 's-Hertogenbosch en is een klein softwarebedrijf. Er werken ongeveer 15 medewerkers, verdeeld in meerdere teams, zoals back-end en front-end development, projectmanagement

Bekijk vacature »

Full Stack .NET Developer

Dit ga je doen Als developer nieuwe gave features ontwikkelen; Werken met technieken als C#, Angular 12 en Javascript,; Maken van technische keuzes en beslissingen over de architectuur; Junior collega's coachen; Initiatief nemen voor nieuwe technische mogelijkheden; Je bent een belangrijke schakel - en vindt het leuk - om te schakelen met de business. Hier ga je werken In een team van 7 professionals ben je als Full Stack .NET Developer verantwoordelijk voor het ontwikkelen van applicaties voor het grootste inhouse product: een applicatie voor alles omtrent hypotheken. De programmeertaal die je hierbij beheerst is C#. Wil je van meerwaarde

Bekijk vacature »

.NET Developer Shared Driving

Bedrijfsomschrijving Onze klant richt zich op het toegankelijker maken van steden, een fantastisch mooi streven. Hoe ze dat doen? Met eigen ontwikkelde software, waarmee vervoersmiddelen gedeeld kunnen worden. Deze inspirerende werkgever maakt een maatschappelijke impact en dat doen ze nu al zo'n 25 jaar! Het bedrijf is gevestigd in het centrum van Rotterdam en kent ongeveer zo'n 90 medewerkers. Het personeel is lekker gewoon gebleven! Iedereen kleedt zich zoals hij of zij dat zou willen en de sfeer is er erg fijn. Een leuke werkgever om voor te werken, en bovendien zijn er voor jou als Software Developer veel mooie

Bekijk vacature »

Android developer

De functie Schiphol is een plek om te reizen, te verblijven en te werken. Door middel van data en technologie richten we op al deze gebieden het leef- en werkklimaat optimaal in en zorgen we voor een slimmere en efficiëntere operatie. Wij ontwikkelen nieuwe producten en diensten vanuit de wensen en behoeften van onze klanten, voorspellen passagier flows en testen digitale oplossingen om rijen en andere pijnpunten in het proces te verminderen. Met slimme feedback van sensortechnologie maken we zelfs data van toiletten en stoelen inzichtelijk en bruikbaar. Het Commercial Platform bestaat uit multidisciplinaire teams met een end-2-end verantwoordelijkheid voor

Bekijk vacature »

Informeel bureau zoekt Senior PHP developer

Functie Als senior PHP developer neem je het voortouw in ontwikkeltrajecten en ben je in staat werk uit te leggen aan collega’s om zo je kennis met hen te delen. Je deinst niet terug voor ingewikkelde projecten. Deze zie jij alleen maar als uit uitdaging. Je werkt doorlopend aan klantcases (en hierdoor je klant echt leert kennen), maar toch ben je afwisselend bezig. Dit alles in een vrije en ontspannen werksfeer, met een team van gelijkgestemde. Binnen de development teams werken ze met o.a. PHP, Laravel, React, Node, Elastic, Amazon AWS, JIRA, Solid, Domain-driven-design, Doctrine, Redis, docker, Kubernetes, CI, PHP

Bekijk vacature »

Sportieve Junior C#.NET developer gezocht!

Bedrijfsomschrijving Wil jij werken aan webapplicaties bij de marktleider binnen de branche? Voor een klant in de buurt van Oosterhout ben ik op zoek naar een Fullstack .NET developer. Dit bedrijf bestaat bijna 10 jaar en is inmiddels uitgegroeid tot marktleider in Nederland en heeft tevens kantoren in meerdere landen in Europa. Dit bedrijf bouwt webapplicaties waarbij internationaal enkele honderdduizenden deelnemers, soms tegelijk, een beroep doen op de realtime data uit deze applicaties. Dit brengt erg veel technische uitdaging met zich mee. Ze ontwikkelen nieuwe applicaties maar ook bestaande applicaties worden uitgebreid en verbeterd. Hier kan jij een onderdeel van

Bekijk vacature »

Medior PHP Developer

Functie omschrijving We are looking for a dutch native speaker Wil jij als developer werken bij een interne organisatie en de eigen software verder helpen ontwikkelen? Lees dan snel verder! In deze functie ga je werken als PHP Developer en de interne software en applicaties verder ontwikkelen. In het kort houdt dit in: Je gaat de interne applicaties en software verder optimaliseren. Verder bouw je verschillende API's en koppelingen tussen systemen. Je gaat het CRM-systeem door middel van PHP verder ontwikkelen. Ook ga je collega's ondersteunen bij vragen over de software en applicaties. Bedrijfsprofiel Dit bedrijf is actief in het

Bekijk vacature »

WordPress & Azure Developer

Dit ga je doen Zowel front- als back-end development aan de online website omgeving; Het up-to-date houden van alle WordPress-sites; Koppelingen maken tussen applicaties; Meedenken en adviseren over verbeteringen; Development door middel van WordPress, Javascript, HTML en CSS; Werken binnen Scrum/Agile team. Hier ga je werken Voor een grote overheidsinstelling in Den Haag zijn wij opzoek naar een WordPress developer, met kennis en ervaring op het gebied van Azure. De organisatie zit in een grote transitie waarbij de gehele website/online omgeving vernieuwd zal gaan worden. Binnen dit Scrum/Agile team ben je verantwoordelijk voor deze grote migratie/ombouw van de omgeving. De

Bekijk vacature »

Pagina: « vorige 1 2 3 4 volgende »

Mike Smit

Mike Smit

28/12/2010 20:36:39
Quote Anchor link
Ik bedoelde het ook niet negatief en ik dacht ook niet dat jij het negatief bedoelde (wat een zin). Ik bevestigde alleen dat het inderdaad wel eens prettig is als iemand laat weten dat je trots op je werk mag zijn. :P
Gewijzigd op 28/12/2010 20:37:00 door Mike Smit
 
PHP hulp

PHP hulp

08/05/2024 15:07:08
 
The Ultimate

The Ultimate

28/12/2010 20:49:45
Quote Anchor link
@Niels:
Ik heb inmiddels een begin gemaakt in het database script dat jij mij had voorgeschoteld. Voor het overzicht heb ik even de andere databasetypes eruit gesloopt.

Ik merk alleen toch dat ik er niet helemaal uitkom. Ik mis namelijk de database connectie in met name de MySQLResult class. Moet ik deze telkens opnieuw opzetten? Lijkt me niet toch? Hoe kan ik de db_connectie meenemen?

En kun je mij laten weten of het de juiste kant op gaat of dat het toch anders moet?

Hier is wat ik tot nog toe heb:
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
<?php

/*****
*
*    Class - Database
*
*    Deze class handelt de communicatie met de MySQL Database af.
*    De methods kunnen verder worden uitgebreid.
*
*    ------------------------------------------------------------
*
*
*
*****/


interface Database
{
    public function connect($host, $gebruikersnaam, $wachtwoord, $naam);
    public function query($query);
}

  
interface DatabaseResult
{
    public function fetch_assoc($sql);
    public function fetch_alles($sql);
    public function aantal_regels($sql);
}

  
class MySQL implements Database
{
    private $db_connection;
  
    public function connect($host, $gebruikersnaam, $wachtwoord, $naam)
    {

        // Verbinding maken met de database
        $this->db_connection = mysql_connect($host,$gebruikersnaam,$wachtwoord,$naam);
    }

  
    public function query($query)
    {

        return mysql_query($query);
    }
}

  
class MySQLResult implements DatabaseResult
{
    private $result;
  
    public function fetch_assoc($sql)
    {

        $db = new MySQL;
        $res = $db->query($sql);
        return $this->result = mysql_fetch_assoc($res);
    }

  
    public function fetch_alles($sql)
    {

        $db = new MySQL;
        $res = $db->query($sql);
        return $this->result = mysql_fetch_array($res);
    }

  
    public function aantal_regels($sql)
    {

        $db = new MySQL;
        $res = $db->query($sql);
        return $this->result = mysql_fetch_row($res);
    }
}

?>


test.php:
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
<?php

#===== Database Settings =====#
define('DB_HOST',                            'db.*****.nl');    // Database host
define('DB_USER',                            '*******');    // Database username
define('DB_PASS',                            '*******');        // Database password
define('DB_DB',                                '*******');    // Database name

include('class/database.class.php');

$db = new MySQL;
$db->connect(DB_HOST,DB_USER,DB_PASS,DB_DB);

?>


En wat mij betreft mag je rustig in dit topic doorgaan of de dependencies. Geen enkel probleem! Ik leer er erg veel van.
Gewijzigd op 28/12/2010 20:51:53 door The Ultimate
 
Niels K

Niels K

28/12/2010 20:53:57
Quote Anchor link
Een vraag, wat heeft de connectie met een resultaat set te maken?

Ik zal eerst alles eens in word uittypen over di(c). Zal in de loop van de week wel een uitleg geven wordt denk ik vandaag niets meer.

Maar goed inhoudelijk op jouw klasse nu:

- Bij de methode connect mis ik fouten afhandeling, plus het selecteren van de database (mysql_select_db)

En zoals ik al zei, resultaat set heeft niets met de query zelf te maken, alleen wat eruit komt.

Daarom klopt fetch_* methodes niet. Die hoeven helemaal niks met de database connectie te doen. Ze moeten alleen het resultaat set tot hun beschikking hebben. Dit moet je oplossen in de methode query.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
public function query( $query )
{

    $result = mysql_query( $query );
    if( !$result ) {
        throw new DatabaseException( ' .... ' );
    }

    return new MySQLResult( $result ); // Hier gaat het dus om
}
Gewijzigd op 28/12/2010 20:59:39 door Niels K
 
The Ultimate

The Ultimate

28/12/2010 20:57:28
Quote Anchor link
Niels Kieviet op 28/12/2010 20:53:57:
Een vraag, wat heeft de connectie met een resultaat set te maken?
Niets? Dat is denk ik het antwoord? Ik moet dus niet de resultaat set ophalen in de MySQLResult class, maar in de MySQL class. Hmmm.... tricky. Ben zo terug. Hoe haal ik nou een resultaat set op zonder db_connectie?

Niels Kieviet op 28/12/2010 20:53:57:
Ik zal eerst alles eens in word uittypen over di(c). Zal in de loop van de week wel een uitleg geven wordt denk ik vandaag niets meer.
We wachten rustig af. ;-)
Gewijzigd op 28/12/2010 20:59:17 door The Ultimate
 
Niels K

Niels K

28/12/2010 21:00:03
Quote Anchor link
Bekijk mijn edit ;-) En probeer het nogmaals
Gewijzigd op 28/12/2010 21:00:33 door Niels K
 
Jasper DS

Jasper DS

28/12/2010 21:03:49
Quote Anchor link
Niels Kieviet op 28/12/2010 20:53:57:
Ik zal eerst alles eens in word uittypen over di(c). Zal in de loop van de week wel een uitleg geven wordt denk ik vandaag niets meer.


vergeet het dan niet op het forum te zetten want ik probeer ook te volgen.. :)
 
Niels K

Niels K

28/12/2010 21:18:36
Quote Anchor link
Haha, is goed komt voor elkaar heb al een klein stuk geschreven.
 
The Ultimate

The Ultimate

28/12/2010 21:19:07
Quote Anchor link
Ok, foutafhandeling toegevoegd en de database-aanroepen eruit gesloopt. Snap alleen niet goed hoe ik nu een resultaat weer kan geven (echoen) in test.php
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
<?php

/*****
*
*    Class - Database
*
*    Deze class handelt de communicatie met de MySQL Database af.
*    De methods kunnen verder worden uitgebreid.
*
*    ------------------------------------------------------------
*
*****/


interface Database
{
    public function connect($host, $gebruikersnaam, $wachtwoord, $naam);
    public function query($query);
}

  
interface DatabaseResult
{
    public function fetch_assoc();
    public function fetch_alles();
    public function aantal_regels();
}

  
class MySQL implements Database
{
    private $db_connection;
  
    public function connect($host, $gebruikersnaam, $wachtwoord, $naam)
    {

        // Verbinding maken met de database
        $result = mysql_connect($host,$gebruikersnaam,$wachtwoord);
        if(!$result) {
            echo 'Er is een fout opgetreden tijdens het verbinden met de database: '.mysql_error();
        }
else {
            // Selecteer database
            $result = mysql_select_db($naam);
            if(!$result) {
                echo 'Er is een fout opgetreden tijdens het selecteren van de database: '.mysql_error();
            }
        }
    }

    
    public function query($query)
    {

        $result = mysql_query($query);
        if(!$result) {
            throw new DatabaseException( 'Er is een fout opgetreden tijdens het uitvoeren van een databasequery: '.mysql_error());
        }

        return new MySQLResult($result); // Hier gaat het dus om
    }
}

  
class MySQLResult implements DatabaseResult
{
    private $result;
  
    public function fetch_assoc()
    {

        $this->result = mysql_fetch_assoc($result);
    }

  
    public function fetch_alles()
    {

        $this->result = mysql_fetch_array($result);
    }

  
    public function aantal_regels()
    {

        $this->result = mysql_fetch_row($result);
    }
}

?>
Gewijzigd op 28/12/2010 21:28:37 door The Ultimate
 
Niels K

Niels K

28/12/2010 21:37:36
Quote Anchor link
Je result klasse is nog niet goed. Hij moet nog een constructor hebben voor het opvangen van het resultaat van de query.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
public function __construct( $result )
{

    $this->result = $result;
}

?>


En je resultaat methodes moet het resultaat van de query niet aanpassen, nee ze moeten alleen met informatie retourneren.

dus fetch_assoc wordt bijvoorbeeld zo:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
public function fetch_assoc( )
{

    return mysql_fetch_assoc( $this->resultaat );
}

?>


Snap je?

Je connectie methode kan nog beter:

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( $host, $gebruikersnaam, $wachtwoord, $naam )
{

        // Verbinding maken met de database
        if(!( $this->db_connection = mysql_connect( $host,$gebruikersnaam,$wachtwoord ) ) ) {
            throw new DatabaseException( 'Er is een fout opgetreden tijdens het verbinden met de database: '.mysql_error( ) );

    // Selecteer database
        if( !mysql_select_db( $naam ) ) {
                throw new DatabaseException( 'Er is een fout opgetreden tijdens het selecteren van de database: '.mysql_error( ) );
            }
        }
    }

?>


Het gebruik is heel simpel:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
// Insert query
$query = "INSERT INTO tabel ( 1, 2, 3, 4, 5 ) VALUES ( enz ) ";
$this->database->query($query);

// Select query
$query = "SELECT enz....";
$elementen = $this->database->query( $query )->fetch_alles( );
foreach( $elementen as $element ) {
    // rest van je code
}
Gewijzigd op 28/12/2010 21:40:09 door Niels K
 
The Ultimate

The Ultimate

28/12/2010 21:55:42
Quote Anchor link
Ok, dit is het script tot nog toe. Krijg nu wel een error:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /public/sites/www.******.nl/class/database.class.php on line 68
Warning: Invalid argument supplied for foreach() in /public/sites/www.*******.nl/test.php on line 24

Dit is een error die volgens mij wordt veroorzaakt door een lege resultset. Kan dat kloppen? De database + velden kloppen en er staan ook gegevens in de db.

test.php
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
<?php

#===== Database Settings =====#
define('DB_HOST',                            'db.******.nl');    // Database host
define('DB_USER',                            '******');    // Database username
define('DB_PASS',                            '******');        // Database password
define('DB_DB',                                '******');    // Database name

include('class/database.class.php');

// Creeer object database
$db = new MySQL;

// Maak connectie met en selecteer de database
$db->connect(DB_HOST,DB_USER,DB_PASS,DB_DB);

// Insert query
//$query = "INSERT INTO tabel ( 1, 2, 3, 4, 5 ) VALUES ( enz ) ";
//$this->database->query($query);

// Select query

$sql = "SELECT email FROM user";
$elementen = $db->query($sql)->fetch_alles();
foreach($elementen as $element){
    // rest van je code
    echo $element;
}

?>


database.class.php:
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

/*****
*
*    Class - Database
*
*    Deze class handelt de communicatie met de MySQL Database af.
*    De methods kunnen verder worden uitgebreid.
*
*    ------------------------------------------------------------
*
*****/


interface Database
{
    public function connect($host, $gebruikersnaam, $wachtwoord, $naam);
    public function query($query);
}

  
interface DatabaseResult
{
    public function fetch_assoc();
    public function fetch_alles();
    public function aantal_regels();
}

  
class MySQL implements Database
{
    private $db_connection;
  
    public function connect($host, $gebruikersnaam, $wachtwoord, $naam)
    {

        // Verbinding maken met de database
        if(!($this->db_connection = mysql_connect($host, $gebruikersnaam, $wachtwoord))) {
            throw new DatabaseException('Er is een fout opgetreden tijdens het verbinden met de database: '.mysql_error());
        }

        // Selecteer database
        if(!mysql_select_db($naam)) {
            throw new DatabaseException('Er is een fout opgetreden tijdens het selecteren van de database: '.mysql_error());
        }
    }


    public function query($query)
    {

        if(!mysql_query($query)) {
            throw new DatabaseException('Er is een fout opgetreden tijdens het uitvoeren van een databasequery: '.mysql_error());
        }

        return new MySQLResult($result);
    }
}

  
class MySQLResult implements DatabaseResult
{
    private $result;

    public function __construct($result)
    {

        $this->result = $result;
    }


    public function fetch_assoc()
    {

        return mysql_fetch_assoc($this->result);
    }

  
    public function fetch_alles()
    {

        return mysql_fetch_array($this->result);
    }

  
    public function aantal_regels()
    {

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

?>
Gewijzigd op 28/12/2010 21:56:37 door The Ultimate
 
Niels K

Niels K

28/12/2010 22:03:04
Quote Anchor link
Maak daar dit eens van:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php

public function fetch_alles( )
{

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

    return $result;
}

?>


aantal_regels klopt overigens ook niet hoor ;) Kan je gewoon gebruik maken van mysql_num_rows
Gewijzigd op 28/12/2010 22:04:01 door Niels K
 
The Ultimate

The Ultimate

28/12/2010 22:08:15
Quote Anchor link
Dan krijg ik deze error:
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /public/sites/www.****.nl/class/database.class.php on line 63

Wat nogal raar is want regel 63 is in de method fetch_assoc die helemaal niet aangeroepen wordt. We roepen fetch_alles() aan...Ik zie dat je daarin fetch_assoc aanroept. Oeps. Wel wazig die error...
Gewijzigd op 28/12/2010 22:09:49 door The Ultimate
 
Niels K

Niels K

28/12/2010 22:11:01
Quote Anchor link
Ja maar fetch_assoc wordt aangeroepen in de while ;)

ik zie hem overigens ;) hij zit in de methode query. Je controleert wel of de query is gelukt, en je maakt een nieuwe instantie van MySQLResult maar je geeft geen resultaat mee als param. Krijg je daar geen errors over?
 
The Ultimate

The Ultimate

28/12/2010 22:16:16
Quote Anchor link
Thanks, het moet natuurlijk dit zijn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
    public function query($query)
    {

        if(!mysql_query($query)) {
            throw new DatabaseException('Er is een fout opgetreden tijdens het uitvoeren van een databasequery: '.mysql_error());
        }
else {
            $result = mysql_query($query);
        }
        
        return new MySQLResult($result);
    }

?>

Kreeg daar overigens geen errors over.

Nu lekker naar bedje toe. Morgenochtend ga ik weer vroeg verder met de authentication class zoals jij mij die uitlegde. Bedankt voor de hulp alvast voor zover.

Voor de geïnteresseerden volgt hier het volledige script:

database.class.php:
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
<?php

/*****
*
*    Class - Database
*
*    Deze class handelt de communicatie met de MySQL Database af.
*    De methods kunnen verder worden uitgebreid.
*
*    ------------------------------------------------------------
*
*****/


interface Database
{
    public function connect($host, $gebruikersnaam, $wachtwoord, $naam);
    public function query($query);
}

  
interface DatabaseResult
{
    public function fetch_assoc();
    public function fetch_alles();
    public function aantal_regels();
}

  
class MySQL implements Database
{
    private $db_connection;
  
    public function connect($host, $gebruikersnaam, $wachtwoord, $naam)
    {

        // Verbinding maken met de database
        if(!($this->db_connection = mysql_connect($host, $gebruikersnaam, $wachtwoord))) {
            throw new DatabaseException('Er is een fout opgetreden tijdens het verbinden met de database: '.mysql_error());
        }

        // Selecteer database
        if(!mysql_select_db($naam)) {
            throw new DatabaseException('Er is een fout opgetreden tijdens het selecteren van de database: '.mysql_error());
        }
    }


    public function query($query)
    {

        if(!mysql_query($query)) {
            throw new DatabaseException('Er is een fout opgetreden tijdens het uitvoeren van een databasequery: '.mysql_error());
        }
else {
            $result = mysql_query($query);
        }
        
        return new MySQLResult($result);
    }
}

  
class MySQLResult implements DatabaseResult
{
    private $result;

    public function __construct($result)
    {

        $this->result = $result;
    }


    public function fetch_assoc()
    {

        return mysql_fetch_assoc($this->result);
    }

  
    public function fetch_alles()
    {

        return mysql_fetch_array($this->result);
    }

  
    public function aantal_regels()
    {

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

?>


test.php:
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
<?php

#===== Database Settings =====#
define('DB_HOST',                            'db.*****.nl');    // Database host
define('DB_USER',                            '.*****.');    // Database username
define('DB_PASS',                            '.*****.');        // Database password
define('DB_DB',                                '.*****.');    // Database name

include('class/database.class.php');

// Creeer object database
$db = new MySQL;

// Maak connectie met en selecteer de database
$db->connect(DB_HOST,DB_USER,DB_PASS,DB_DB);

// Insert query
$query = "INSERT INTO user (email) VALUES ('[email protected]')";
$db->query($query);

// Select query
$sql = "SELECT email FROM user";
$elementen = $db->query($sql)->fetch_alles();
foreach($elementen as $element){
    // rest van je code
    echo $element;
}

?>
Gewijzigd op 28/12/2010 22:19:30 door The Ultimate
 
Mike Smit

Mike Smit

28/12/2010 22:18:12
Quote Anchor link
Serieus op PHPhulp moet een mogelijkheid komen om direct naar de laatste reactie te gaan. Ongelofelijk ik probeer dit topic te volgen maar moet elke keer helemaal naar de footer van de pagina toe.
 
Niels K

Niels K

28/12/2010 22:18:12
Quote Anchor link
Kan ja maar dit is natuurlijk mooier en korter want nu voer je twee keer de query uit.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
    public function query($query)
    {

        if(!$result = mysql_query($query)) {
            throw new DatabaseException('Er is een fout opgetreden tijdens het uitvoeren van een databasequery: '.mysql_error());  
        return new MySQLResult($result);
    }


?>


Quote:
Serieus op PHPhulp moet een mogelijkheid komen om direct naar de laatste reactie te gaan. Ongelofelijk ik probeer dit topic te volgen maar moet elke keer helemaal naar de footer van de pagina toe.

Maak er een topic over?
Gewijzigd op 28/12/2010 22:19:07 door Niels K
 
Mike Smit

Mike Smit

28/12/2010 22:21:56
Quote Anchor link
Werkt dat denk je?
 
Niels K

Niels K

28/12/2010 22:23:15
Quote Anchor link
Dat zou moeten werken ;) Maar de geruchten gaan rond dat bas niet actief aan phphulp zit. Heb zelf vorige week een mailtje gestuurd dat ik mijn eigen tutorial niet meer kon wijzigen en of hij dat kon openzetten, maar nog steeds geen reactie gehad..
 
The Ultimate

The Ultimate

28/12/2010 22:24:47
Quote Anchor link
@Niels:
Aangepast. Bedankt.

Overigens geeft de query maar 2 resultaten weer, terwijl de database veel voller staat dan dat. Dit zou toch alle e-mailadressen moeten weergeven?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
// Select query
$sql = "SELECT email FROM user";
$elementen = $db->query($sql)->fetch_alles();
foreach($elementen as $element){
    // rest van je code
    echo $element;
}

?>
 
Niels K

Niels K

28/12/2010 22:27:51
Quote Anchor link
Oh het zou moeten werken!? Wat is de totale code tot nu toe?
 

Pagina: « vorige 1 2 3 4 volgende »



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.