OOP database
Nicky Monsma op 17/01/2013 22:36:29:
ik geef je een voorbeeld hoe je echt moet parameteren
En dat is de kern van het probleem. Je zegt hier je MOET het zo dan, maar je KAN het ook anders doen. Dit betekent dat je moet weten hoe die class intern werkt om hem te kunnen gebruiken. Het idee van een class is nu juist dat je dat niet hoeft te weten. Dat je die class kan gebruiken en dat de class zelf wel zorgt voor het opvangen van fouten intern. Als een programmeur dus een keer een verkeerde aanroep doet, dan lukt de query niet, maar krijgt hij tenminste geen foutmelding op het scherm.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
$DB = new Database();
$Qyery = $DB->prepare('SELECT email FROM users WHERE username = ? LIMIT 1');
$Query->bind_param(array('monsma'));
$Result = $Qeury->execute();
$Result->result();
?>
$DB = new Database();
$Qyery = $DB->prepare('SELECT email FROM users WHERE username = ? LIMIT 1');
$Query->bind_param(array('monsma'));
$Result = $Qeury->execute();
$Result->result();
?>
zo moeilijk is het niet?
Gewijzigd op 17/01/2013 22:45:39 door - Raoul -
Vertel wat er fout aan is laat jou class is zien ik kan het dan ook wel is beoordelen
Al wat fout aan jouw class is werd hierboven al uitgebreid door Erwin uitgelegd aan je.
probeer eens na te denken elke keer als je een reactie plaatst he wat zou een idioot zeggen
en dan plaats je een reactie :) succses met je nozele leven ooit zou je het begrijpen ( als je bijna dood ben )
doei sukkels ik verlaat dit stomme forum jullie zijn prutsers
Nicky, Erwin probeert je te helpen door de minpuntjes van je class aan te tonen en waarom jouw class een slecht in elkaar zit. Volgens mij kan hier iemand niet echt tegen kritiek :-))
Nicky Monsma op 17/01/2013 22:43:47:
tja als je een goede progammeur bent kan je er gewoon mee overweg het kan ook anders
zo moeilijk is het niet?
zo moeilijk is het niet?
Als je nu eens aandachtig naar mijn posts zou kijken en zou proberen te begrijpen wat ik zeg dan zouden we misschien nog ergens komen. Het gaat er niet om of de class werkt, mijn punt is dat de class fouten niet opvangt. Het idee van een class is dat die op zichzelf een bepaalde functionaliteit kan bieden en compleet kan verzorgen. Jouw class geeft problemen op het moment dat de class verkeerd wordt gebruikt. Ja, dat ligt in eerste instantie aan de programmeur, maar dan nog dient de class op een nette manier fouten af te handelen, zonder het script op te hangen.
Stel even de volgende situatie. Een script wil een pagevisit in de database opslaan voor een verdere statische pagina. Enige DB request is dus dat pagevisit opslaan. De programmeur doet nu alles goed (juiste volgorde), maar de database is om wat voor reden dan ook niet beschikbaar. De call gaat dus fout en het script hangt. Was dat nodig? Nee, de rest van de pagina had gewoon getoond kunnen worden, het zal de gebruiker namelijk worst wezen of die pagevisit wordt opgeslagen of niet. Vind jij dit nu echt een acceptabele situatie?
Gewijzigd op 17/01/2013 23:17:53 door Erwin H
Mijn tip: Laat trollen lekker praten en help de TS verder, op gegeven moment verdwijnt ie wel.
Heeft iemand ook een voorbeeld van een database class dat aangeeft hoe het dan wel moet?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Ik heb echter een vraagje over de delete query, als ik 2 dingen opgeef in de array, bijvoorbeeld:
Wordt dat dan:
of:
Eerst goed lezen.... Je had het niet over die select...
Gewijzigd op 18/01/2013 13:03:30 door Erwin H
Erwin H op 18/01/2013 13:02:42:Dat bepaal je zelf:
Eerst goed lezen.... Je had het niet over die select...
Eerst goed lezen.... Je had het niet over die select...
Volgens mij begrijp je me niet helemaal. :P
Als je dit doet:
komt dat op hetzelfde neer als:
(Toch?) Maar als je nu dit doet:
Wat gebeurd er dan? Worden dan alle rijen verwijderd die het id 2 hebben EN username test, of alle rijen met het id 2 OF username test?
de source code zie je dat er AND gebruikt wordt.
Je bedoelt wat jij zou moeten doen of wat Doctrine DBAL doet? Voor dat laatste: in Lord Gaga op 18/01/2013 16:39:07:
Volgens mij begrijp je me niet helemaal. :P
Erwin H op 18/01/2013 13:02:42:Dat bepaal je zelf:
Eerst goed lezen.... Je had het niet over die select...
Eerst goed lezen.... Je had het niet over die select...
Volgens mij begrijp je me niet helemaal. :P
Klopt, die opmerking was ook aan mezelf gericht, omdat ik reageerde voor ik echt doorhad wat je nu eigenlijk vroeg...
Erwin H op 18/01/2013 17:25:27:
Klopt, die opmerking was ook aan mezelf gericht, omdat ik reageerde voor ik echt doorhad wat je nu eigenlijk vroeg...
Lord Gaga op 18/01/2013 16:39:07:
Volgens mij begrijp je me niet helemaal. :P
Erwin H op 18/01/2013 13:02:42:Dat bepaal je zelf:
Eerst goed lezen.... Je had het niet over die select...
Eerst goed lezen.... Je had het niet over die select...
Volgens mij begrijp je me niet helemaal. :P
Klopt, die opmerking was ook aan mezelf gericht, omdat ik reageerde voor ik echt doorhad wat je nu eigenlijk vroeg...
O, ik dacht dat je bedoeld dat ik het niet goed gelezen had, haha. :P
@Wouter:
En hoe moet ik die delete query dan gebruiken als ik OR wil gebruiken in plaats van AND, moet er daar dan weer een nieuwe function binnen die class worden aangemaakt?