brr...quote:Op woensdag 16 mei 2007 16:02 schreef super-muffin het volgende:
Dat kan niet zo maar. Je moet eerst de tabel exporteren, dan verwijderen en weer importeren.
ik gebruik om technische redenen InnoDBquote:Op woensdag 16 mei 2007 16:05 schreef WyriHaximus het volgende:
MyISAM reset je auto index iig met TRUNCATE (net getest)
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 | LANGUAGE SQL NOT DETERMINISTIC MODIFIES SQL DATA SQL SECURITY DEFINER BEGIN DECLARE cram_challenge TEXT DEFAULT MD5(NOW() * RAND()); DECLARE userid INT; SELECT uid INTO userid FROM user WHERE username = login; IF NOT userid IS NULL THEN INSERT INTO cram ( fk_uid, challenge ) VALUES ( userid, cram_challenge ) ON DUPLICATE KEY UPDATE fk_uid = userid, challenge = cram_challenge; END IF; SELECT challenge; END |
De tweede query wordt alleen uitgevoerd als de eerste query een resultaat geeft. Dat doe ik met IF NOT userid IS NULL THEN ...quote:Op donderdag 17 mei 2007 19:08 schreef Tuvai.net het volgende:
Je select query als een variabele declareren en alleen de volgende query uitvoeren als het resultaat van de select query een waarde bevat? In MYSQL werk ik nooit met stored procedures (vreemd genoeg, terwijl ik vrijwel altijd met PHP i.c.m. PHP werk) maar in MSSQL kun je @@OUT_ERROR manipuleren.
Roep anders deze stored procedure aan via een functie in je broncode, en doe de output opvangen met je functie.
Jazeker, en het is nog makkelijk ookquote:Op donderdag 17 mei 2007 20:10 schreef Xcalibur het volgende:
Is het mogelijk om een class te maken met een functie / stuk code die *altijd* uitgevoerd wordt? Dus op het moment dat je de class aanroept zeg maar?
Het gaat namelijk om een functie waar alle onderdelen van de class van afhankelijk zijn. Als ik nu de class aanroep moet ik als eerste daarna die functie aanroepen, anders gaat alles fout. En dat is dus nogal loos, dat moet toch automagisch kunnen lijkt me?
JeRa, je bent geweldig [14.gif] .quote:Op donderdag 17 mei 2007 20:41 schreef JeRa het volgende:
@cyberstalker
Heb je dat al geprobeerd met een cursor? Je zou het niet bestaan van een user kunnen opvangen met een handler.
Ja, dat werkt dusquote:Op donderdag 17 mei 2007 20:33 schreef cyberstalker het volgende:
Je maakt in je class gewoon een functie aan. Het enige wat je hoeft te doen is de functie dezelfde naam als de class te geven en klaar ben je. Je kunt dan eventuele parameters naar de functie gewoon doorgeven in je class constructor.
Wat bedoel je met toewijzen? Heb je een codevoorbeeldje?quote:Op donderdag 17 mei 2007 21:37 schreef Xcalibur het volgende:
[..]
Ja, dat werkt dus
Nadeel: in de betreffende functie gebruik ik weer een database-class die ik dus eerst moet toewijzen aan mijn class... Dat doe ik nu dus ook met de hand, net als die functie-aanroep eigenlijk. Kan dat ook automatisch?
1 2 3 4 | $import->database = $database; $import->check = $check; $import->getTableColumns(); |
Die kun je toch gewoon toewijzen vanuit de functie getTableColumns() ?quote:Op donderdag 17 mei 2007 22:31 schreef Xcalibur het volgende:
Ik ben een import-class aan het schrijven. Deze maakt gebruik van een database-class genaamd $database, en een validatie-class genaamd $check. Om te zorgen dat ik deze twee classes binnen mijn import-class kan gebruiken moet ik deze eerst aan de import-class toewijzen.
Als volgt:
[ code verwijderd ]
De functie getTableColumns() wil ik dus automatisch aanroepen, dat werkt dus met de oplossing die je hierboven al gaf. Alleen de functie getTableColumns() heeft dus de $database en $check nodig, die daarna pas toegewezen worden. Als dat nou ook automatisch kan ben ik weer helemaal gelukkig
1 |
1 2 | $this->database = $database; |
Maar als ik deze functie automatisch laat aanroepen door hem de naam van de class te geven, kan ik die variabelen niet meer meegeven? Die zijn namelijk op dat moment nog niet bekend in de class?quote:Op donderdag 17 mei 2007 22:39 schreef cyberstalker het volgende:
Het handigste lijkt mij om gewoon de variabelen $database en $check door te geven aan de class constructor. Verander de functieconstructor (function getTableColumns() ) in het volgende:
Singletons worden juist voor dat soort doeleinden gebruikt. Er zijn wel meer voordelen aan het gebruik van OO in zo'n geval, o.a. het feit dat je delen van je code simpelweg kunt laten returnen i.p.v. een achterlijke constructie van ifs en dat je meer scopes hebt en dus minder kans hebt op vervuiling van variabelen (wat weer kan leiden tot security issues).quote:Op vrijdag 18 mei 2007 08:50 schreef Roönaän het volgende:
Is het idee van een import class sowieso niet dat hij zo generiek is dat je eerst configuraties en links met andere objecten op moet zetten voordat je een executerende functie aanroept? Anders kan je net zo goed class-loze code gebruken. Object orientatie voor de object orientatie zeg maar
Ja, daar zit ik dus ook een beetje meequote:Op vrijdag 18 mei 2007 08:50 schreef Roönaän het volgende:
Is het idee van een import class sowieso niet dat hij zo generiek is dat je eerst configuraties en links met andere objecten op moet zetten voordat je een executerende functie aanroept? Anders kan je net zo goed class-loze code gebruken. Object orientatie voor de object orientatie zeg maar
Een import singleton implementatie?quote:Op vrijdag 18 mei 2007 09:55 schreef JeRa het volgende:
[..]
Singletons worden juist voor dat soort doeleinden gebruikt. Er zijn wel meer voordelen aan het gebruik van OO in zo'n geval, o.a. het feit dat je delen van je code simpelweg kunt laten returnen i.p.v. een achterlijke constructie van ifs en dat je meer scopes hebt en dus minder kans hebt op vervuiling van variabelen (wat weer kan leiden tot security issues).
Geen idee, eigenlijk alleen naar de beschrijvingen gekeken. Géén idee wat ie met import bedoeltquote:
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |