Multi Query Insert

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

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 »

Web Developer

Bedrijfsomschrijving ENGIE Nederland is onderdeel van de beursgenoteerde ENGIE Groep. ENGIE is actief in 70 landen, met wereldwijd 150.000 medewerkers. Als groep is het de missie om bij te dragen aan de verduurzaming van de wereld. ENGIE Energie biedt energiediensten aan particulieren en grootzakelijk en gaat de uitdagingen van de energietransitie aan door het beschikbaar maken van duurzame energie, het streven de klimaatverandering tot een minimum te beperken, leveringszekerheid te bieden en zorg te dragen voor een verantwoord gebruik van de beschikbare resources. ENGIE Energie investeert daarom in hernieuwbare energiebronnen zoals zon, wind en bio-gas. Functieomschrijving Heb jij veel ervaring

Bekijk vacature »

C# .NET Developer

Functie omschrijving Wij zijn op zoek naar een C# .NET Developer voor een bedrijf in de omgeving van Utrecht! Wil jij werken voor een internationaal bedrijf waar je legio mogelijkheden krijgt als Software Ontwikkelaar? Grijp nu je kans! Je kunt een uitdagende rol gaan vervullen als C#.NET Developer binnen een internationaal bedrijf dat gevestigd is in omgeving van Utrecht. Je zult gaan samenwerken met collega's die over de hele wereld verspreid zitten. Dit bedrijf is zeer vooruitstrevend en werkt met de nieuwste technieken. Als C#.NET Developer ga jij je bezig houden met het volgende: Je blijft op de hoogte van

Bekijk vacature »

Full stack Developer / .NET / Angular / Azure

Dit ga je doen Jij gaat je als Full Stack .NET Developer voornamelijk bezighouden met: Het vertalen van concepten naar passende innovatieve en duurzame oplossingen; Het ontwikkelen van bedrijf kritische en gebruiksvriendelijke applicaties voor de internationale markt en intern gebruik; Bouwen aan software om het Internet of Things netwerk te ondersteunen; Het maken en onderhouden van interfaces tussen systemen aan de hand van API's; Het onderhouden en blijven verbeteren van de ontwikkelde software. Hier ga je werken Binnen deze organisatie zal jij als Full Stack .NET Developer een belangrijke rol krijgen en ga je dagelijks de uitdaging aan om maatwerk

Bekijk vacature »

Full stack .NET developer Microsoft 365

Wat ga je doen als Full stack .NET developer Microsoft 365? Je stelt je op als sparringpartner voor het team en PO over toekomstige functionaliteiten, architectuur en mogelijke nieuwe producten. Je bent mede-verantwoordelijk voor het vertalen en omzetten van een user story in een passend technisch design. Je implementeert functionaliteiten op basis van een technisch design en user story. Je bent mede-verantwoordelijk voor het beheer van Azure DevOps, waaronder het beheer van GIT, Build Pipelines, Release Pipelines en geautomatiseerde testen. Hier herken jij jezelf in Hbo werk- en denkniveau of hoger aangevuld met relevante certificeringen en/of cursussen; Minimaal 3 jaar

Bekijk vacature »

Front-end Angular developer

Functie In jouw rol als Front-End developer werk je samen met de backend developers om middels tweewekelijkse sprints het platform naar een hoger niveau te tillen. Hiernaast heb je affiniteit met data en werk je graag samen met het team om de gegevensintegriteit en -beveiliging te waarborgen, om ervoor te zorgen dat de gebruiker wereldwijd de beste SaaS-services heeft. Deze organisatie heeft meer dan 100 mensen in dienst, waarvan er 45 in Nederland werken. Het ontwikkelteam bestaat uit 10 mensen en is verdeeld in 2 scrumteams. Het eerste team bestaat uit Java en Scala ontwikkelaars. Het tweede team, waar jij

Bekijk vacature »

Medior C# Developer

You'll build modern applications for Coolblue's back office. We have a lot of friends, and they crave well-structured data and user-friendly, task-focused applications. How do I become a Medior C# Developer at Coolblue? You regularly participate in brainstorm sessions about user experience, data, and task flow with the UX Designer, Product Owner, and Data Scientists in your team. Besides that you will create disconnected, highly congruent, and testable code that can easily be maintained and is future-proof. Want to become C# Developer at Coolblue? Read below if the job suits you. You enjoy doing this Working with various types of

Bekijk vacature »

Software Developer

Functie omschrijving Veel begeleiding en de kans om je verder te ontwikkelen als software developer. Dat kunnen wij jou bieden bij deelname aan deze leuke traineeship. Je krijgt een mentor toegewezen die jou alle kneepjes van het vak leert. Heb jij al wat ervaring als software developer? Daar worden wij heel blij van! Lees snel verder! Bedrijfsprofiel Als software developer neem je deel aan een trainings programma in de omgeving van Haarlem waar je persoonlijk wordt begeleidt, zodat je alle kneepjes van het vak leert. Aan de hand van jouw kennis en ervaring krijg je een persoonlijk opleidingstraject. Je gaat

Bekijk vacature »

Oracle Apex Developer

Dit ga je doen Jouw taken bestaan uit: Het bouwen maatwerk Oracle applicaties voor Europese business units; Het implementeren van de nieuwste technieken om te blijven innoveren; Actief meedenken en aandragen van verbetervoorstellen. Hier ga je werken Deze organisatie in de regio Veenendaal is een van wereld grootste retailers met ruim 16.000 winkels in 27 markten en jaarlijks ruim 5,3 miljard klanten die winkelen bij een van hun welbekende retailmerken. Binnen de organisatie is er een IT Group actief die dient als IT Service Provider voor de hele organisatie en waar dagelijks IT'ers werken aan state-of-the-art IT oplossingen. Dit doen

Bekijk vacature »

C# .NET Ontwikkelaar ASP.NET

Samengevat: Deze werkgever is een inkooporganisatie. Ben jij een ervaren .Net ontwikkelaar? Heb je ervaring met .Net en C#? Vaste baan: C# .NET Developer .Net MBO HBO €3.100 - €4.300 Onze missie is: “Een essentiële bijdrage leveren aan het verlagen van de integrale kostprijs van de aangesloten groothandels, middels het bundelen van inkoopvolume en het creëren van synergie met en tussen de groothandels en leveranciers, met scherpe inkoopprijzen, goede handelscondities en gerichte dienstverlening als resultaat” Zij werken voor MKB klanten. Deze werkgever heeft veel verschillende projecten. Houd jij van afwisseling? Dan zit je bij hun goed! De branche van dit

Bekijk vacature »

Senior Front-end Developer

Dit ga je doen Met behulp van diverse programmeertalen ontwikkelen van Front-end software; Het begeleiden van het front-end team; Het oplossen van incidenten; Het bijhouden van een backlog; Je hebt een actieve bijdrage in de wekelijkse overleggen met de omliggende teams; Je houdt trends bij en adviseert het management hierover waar nodig; Helder communiceren met de stakeholders om hen zo mee te nemen in projecten en laten inzien wat de duur en toegevoegde waarde van bepaalde projecten is. Hier ga je werken Deze organisatie heeft circa 40 miljoen bezoekers per maand en heeft innovatie hoog in het vaandel staan. Het

Bekijk vacature »

Senior Airport Developer ( System engineer)

De functie Nice to know (you) De nieuwe A-pier wordt de duurzaamste van Schiphol. Als deze af is ligt er 4000 vierkante meter zonnepanelen op het dak. En de toiletten? Die spoelen door met regenwater. we gaan ervoor: het creëren van de meest duurzame en hoogwaardige luchthavens ter wereld. een toekomstbestendig en duurzaam Schiphol. Daar werken we elke dag hard aan in team Development & Sustainability. Jij bent regisseur, expert én aanjager van de ontwikkeling van Schiphol. Connecting your world Hoe maak je de ambities en doelstellingen van Schiphol concreet in een project? De waarde voor Schiphol naar eisen die

Bekijk vacature »

Front-end Developer

Do you want to work with the latest technologies on the development of new systems and applications? Create elegant interfaces using VueJS for thousands of users? Get moving and strengthen Nederlandse Loterij as a Front-end Developer. Thanks to your efforts, our services are always presented in style. As a Front-end Developer you are responsible for website development and improving customer experience based on data analyze. In this way, you directly contribute to a happy, healthy and sporty Netherlands. As a Front-end Developer you score by: Writing elegant, testable components without side-effects to provide functionality to the users Website development, adding

Bekijk vacature »

.NET developer

Functie Als ervaren .NET ontwikkelaar start jij in één van onze vier scrumteams. Met 30 ontwikkelaars werk jij aan de doorontwikkeling van ons core product. Ook werkt jouw team aan maatwerkoplossingen op aanvraag van de klant en op projectbasis. Wij vinden het erg belangrijk dat onze ontwikkelaars met plezier naar werk gaan. Een deel hiervan ligt uiteraard bij jezelf, als jij ontwikkelen niet leuk vindt, ben jij bij ons echt aan het verkeerde adres. Jouw team bestaat namelijk uit een groep gepassioneerde vakidioten die dit werk doen omdat dit eerst een hobby was! Daarnaast wordt er intern rekening gehouden met

Bekijk vacature »

Front End Ontwikkelaar (React)

In het kort Als front end developer ga je aan de slag met maatwerkprojecten voor onze klanten. Denk bijvoorbeeld aan het toevoegen van een machine aan een database of het corrigeren van formulieren voor ingestuurde orders. Voorbeeld van zo’n project is Smart Link. De projecten waar je op ingezet kunt worden liggen binnen het technische domein waar jij als front end developer een grote rol speelt om samen met je back end collega’s de juiste oplossingen te leveren. please note that this particular role requires fluent Dutch language skills. Dit vind je leuk om te doen Het omzetten van designs

Bekijk vacature »
Danny von Gaal

Danny von Gaal

10/02/2017 22:05:27
Quote Anchor link
Hallo,

Ik probeer voor het eerst multi query maar ik krijg een Success terug wanneer de bovenste Insert wel werkt en de onderste niet.

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
<?php
if ($HasError == 0) {
        
        // Insert in database
        $SQLInsertUser = "INSERT INTO users
                         (email, password, reg_date, ipaddress, verified)
                         VALUES
                         ('"
. $FormEmail . "', '" . $FormPassword . "', '" . $FormDate . "', '" . $FormIpaddress . "', 'no');";
        
        $SQLInsertUser .= "INSERT INTO verify
                          (email, hash2)
                           VALUES
                          ('"
. $FormEmail . "', '" . $RandomHash . "')";

        if ($conn->multi_query($SQLInsertUser) === FALSE) {
            
            // Nice error if e-mail is duplicate
            if ($conn->errno == 1062) {
            
                echo $lang['formhandling-register-email-duplicate'];
                echo $lang['form-try-again'];
                exit;
                
            }
else {
            
                echo "Error: " . $conn->errno;
                
            }
            
        }
else {
            
            echo "Success";
            
        }

        
        $conn->close();
        exit;
        
    }

?>
 
PHP hulp

PHP hulp

20/04/2024 13:55:57
 
Thomas van den Heuvel

Thomas van den Heuvel

11/02/2017 10:08:28
Quote Anchor link
Er zitten een héleboel haken en ogen aan multiqueries, maar om het hier kort te houden: als het de bedoeling is dat een set queries in zijn geheel, of in zijn geheel niet moet worden uitgevoerd dan zou je gebruik moeten maken van transacties. Transacties stellen je in staat om een set queries als één ondeelbare actie (wel of niet) uit te voeren.

Multiqueries zijn hier simpelweg niet voor geschikt, vooral als de kans bestaat dat ergens onderweg een fout optreedt: alle queries tot dat punt zijn dan namelijk al verwerkt wat mogelijk voor rotzooi in je database zorgt.
 
Danny von Gaal

Danny von Gaal

11/02/2017 15:19:28
Quote Anchor link
Bedankt voor je reactie. w3schools doet voorkomen alsof het de normaalste zaak van de wereld is:
http://www.w3schools.com/php/php_mysql_insert_multiple.asp

Ik weet van transacties af alleen is het me nog niet gelukt. Ik ga wel een andere manier bedenken, bedankt.
 
- Ariën  -
Beheerder

- Ariën -

11/02/2017 15:58:44
Quote Anchor link
Opsich zou dit moeten werken:
http://www.phptuts.nl/view/26/6/
 
Danny von Gaal

Danny von Gaal

11/02/2017 16:35:54
Quote Anchor link
- Ariën - op 11/02/2017 15:58:44:
Opsich zou dit moeten werken:
http://www.phptuts.nl/view/26/6/


Bedankt, dat ziet er niet erg moeilijk uit. :)
 
Thomas van den Heuvel

Thomas van den Heuvel

11/02/2017 20:40:46
Quote Anchor link
Wat lukt er niet aan transacties dan? Het enige wat echt nodig is dat je gebruik maakt van tabellen met de InnoDB engine, maar dat is sowieso wel een goed plan als je een administratieve database aan het bouwen bent, je hebt dan namelijk de beschikking over foreign key( constraint)s wat er verder toe bijdraagt dat je data referentieel integer is en blijft.

Ik denk dat als je wilt afdwingen dat een reeks queries als batches uitgevoerd worden (in het geheel wel, of in het geheel niet) dat transacties eigenlijk de enige (en enige juiste) gedoodverfde manier is.

Een aantal argumenten om geen multi_query() te gebruiken:
- detectie of iets fout gaat is soms lastig en nogal omslachtig
- als er iets fout is gegaan zit er waarschijnlijk onvolledige data in je database...
- ... die je weer op een of andere manier moet repareren, ongedaan moet maken
- prepared statements werken niet i.c.m. multi_query() (maar als je die per se wilt gebruiken is PDO wellicht een beter alternatief)
- het consequent escapen van DATA binnen de SQL is bij multi_query() extra belangrijk, je wilt namelijk niet dat iemand hier een DROP DATABASE hennie; aan vastfietst
 
- Ariën  -
Beheerder

- Ariën -

11/02/2017 20:43:47
Quote Anchor link
De vraag is alleen, waar is multi_query() nou wel goed voor?
Ik zat zelf te denken aan een rits aan bijvoorbeeld INSERT-queries waarvan je zeker bent dat die werken, om bijvoorbeeld een tabel met data te vullen. Maar dan kan je net zo goed een foreach en een $mysqli->query() gebruiken.
 
Thomas van den Heuvel

Thomas van den Heuvel

11/02/2017 21:37:10
Quote Anchor link
- Ariën - op 11/02/2017 20:43:47:
Ik zat zelf te denken aan een rits aan bijvoorbeeld INSERT-queries waarvan je zeker bent dat die werken, om bijvoorbeeld een tabel met data te vullen.

Mja, maar soms wil je voor een correcte werking tabellen/kolommen kunnen locken zodat je race conditions kunt voorkomen. Transacties zijn daar bij uitstek geschikt voor.

Soms is het simpelweg niet voldoende om "enkele foutloze queries achter elkaar uit te voeren" omdat als dat proces meerdere keren tegelijkertijd wordt uitgevoerd, de queries van deze verschillende aanroepen mogelijk met elkaar verweven zijn wat soms (en zonder transacties / locking) mogelijk ongewenste situaties oplevert.

Een klassiek voorbeeld daarvan is een situatie waarin je geld overmaakt van rekening A naar rekening B. Je wilt dat de hele mutatie één ondeelbare actie vormt anders bestaat de kans dat er vreemde / ongewenste dingen gebeuren met saldo's.

Eigenlijk in alle systemen waarin meerdere gebruikers mogelijk dezelfde data bewerken is het inzetten van transacties handig / verstandig.
Gewijzigd op 11/02/2017 21:43:48 door Thomas van den Heuvel
 
Willem vp

Willem vp

12/02/2017 12:59:52
Quote Anchor link
- Ariën - op 11/02/2017 20:43:47:
De vraag is alleen, waar is multi_query() nou wel goed voor?
Ik zat zelf te denken aan een rits aan bijvoorbeeld INSERT-queries waarvan je zeker bent dat die werken, om bijvoorbeeld een tabel met data te vullen. Maar dan kan je net zo goed een foreach en een $mysqli->query() gebruiken.

En in dat geval zou ik zelfs nóg liever 1 insert-query gebruiken met een lijst values, omdat dat qua performance beter is dan allemaal losse inserts.
 
- Ariën  -
Beheerder

- Ariën -

12/02/2017 13:09:32
Quote Anchor link
Dat is eigenlijk ook weer zo. Praktisch gezien wordt dat als één schrijfactie op de server gezien?
 
Willem vp

Willem vp

12/02/2017 14:02:34
Quote Anchor link
> Praktisch gezien wordt dat als één schrijfactie op de server gezien?

Voor de toeschouwer lijkt het wel zo, inderdaad. ;-) Waarschijnlijk zal de server evengoed losse schrijfacties gebruiken, maar de grootste winst is dat hij niet steeds het query execution plan hoeft te maken. Met prepared statements hoeft de server dat ook niet, maar daar moet je voor elk record een execute() uitvoeren, wat ook weer overhead geeft.
 
Thomas van den Heuvel

Thomas van den Heuvel

13/02/2017 16:10:10
Quote Anchor link
De database-oplossing en query-strategie hangt in ieder geval sterk af van de applicatie. Als je vaak queries hebt met inserts met meerdere (grote) sets van values dan wordt alles nogal traag volgens mij. Daarnaast zou je dit kunnen stresstesten om te zien wat beter werkt. Meten = weten.

Maar terug naar het oorspronkelijke onderwerp, bovenstaande aanpak gaat niet werken omdat je met verschillende tabellen te maken hebt.

Wacht eens, als ik nu alles in één tabel sto... :p
 
Willem vp

Willem vp

14/02/2017 08:43:43
Quote Anchor link
Op mijn werk worden er om verschillende redenen behoorlijk wat records rondgepompt. Daar heb ik allerlei processen dramatisch kunnen versnellen door losse inserts of inserts via prepared statements om te schrijven naar bulk inserts (insert met meerdere values of insert select). Ik praat dan over inserts die variëren van 1200 tot meer dan een half miljoen records per statement.

Overigens, zonder het achterliggend datamodel te kennen: als ik kijk naar de queries in de original post, vind ik het goed te verdedigen om alles in 1 tabel te stoppen.
Gewijzigd op 14/02/2017 08:44:58 door Willem vp
 
Ward van der Put
Moderator

Ward van der Put

14/02/2017 09:14:25
Quote Anchor link
Willem vp op 14/02/2017 08:43:43:
Overigens, zonder het achterliggend datamodel te kennen: als ik kijk naar de queries in de original post, vind ik het goed te verdedigen om alles in 1 tabel te stoppen.

Zo te zien hoort alles inderdaad in één tabel:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
        // Insert in database
        $SQLInsertUser = "INSERT INTO users
                         (email, password, reg_date, ipaddress, verified)
                         VALUES
                         ('"
. $FormEmail . "', '" . $FormPassword . "', '" . $FormDate . "', '" . $FormIpaddress . "', 'no');";
        
        $SQLInsertUser .= "INSERT INTO verify
                          (email, hash2)
                           VALUES
                          ('"
. $FormEmail . "', '" . $RandomHash . "')";
?>

Ik mis hier verschillende dingen:

• De tweede tabel 'verify' bevat alleen een "hash" (die eigenlijk geen hash is maar een random token) bij het e-mailadres dat ook voorkomt in de eerste tabel.

• Er wordt niet opgeslagen wanneer die "hash" voor de verificatie wordt gegenereerd, dus er kunnen kennelijk tot in alle eeuwigheid ongeverifieerde e-mailadressen circuleren.

• Er is geen primaire sleutel die de twee tabellen koppelt (tenzij dat het e-mailadres is, maar dat is om diverse redenen niet handig).

• In de eerste tabel staat de kolom 'verified' op de string 'no', maar daarvan kun je beter een flag maken van 1 bit, bijvoorbeeld een TINYINT(1), of een TIMESTAMP als je het verschil tussen de registratiedatum en de verificatiedatum wilt kunnen gebruiken. Als je security by design toepast, zou de veiligste toestand 'verified' == 'no' bovendien de standaardtoestand moeten zijn — en kun je die weglaten in de query.

• Als je toch in één keer twee queries wilt uitvoeren voor een INSERT van één gebruiker, kun je hier veel beter een transactie gebruiken dan een multiquery.
 
Danny von Gaal

Danny von Gaal

14/02/2017 09:46:25
Quote Anchor link
Ik wil liever niet alles in een tabel omdat ik de user tabel klein wil houden met alleen belangrijke gegevens. Wanneer iemand zijn emailadres heeft geverifieerd wordt de entry van de verify tabel ook weer netjes verwijderd.

In beide tabbelen staat email op UNIQUE dus ik krijg geen eeuwigheid aan ongeverifieerde emailadressen. Tevens heeft de tabel verify een TIMESTAMP kolom die update on entry. Ik kan dus altijd zien wanneer dit is gebeurd en kan dit eventueel na twee weken weer verwijderen. Ik geef ook in de email aan dat je binnen twee weken je email moet verifieren.

Beide tabbelen hebben ook een primary key "id".

Wat betreft verified = 'no' dat kan ik veranderen naar de tinyint. Bedankt voor de tip.

Ik ga de transacties tevens toevoegen waar Ariën een voorbeeld van stuurde.
 
Ward van der Put
Moderator

Ward van der Put

14/02/2017 11:59:09
Quote Anchor link
Danny von Gaal op 14/02/2017 09:46:25:
Ik wil liever niet alles in een tabel omdat ik de user tabel klein wil houden met alleen belangrijke gegevens. Wanneer iemand zijn emailadres heeft geverifieerd wordt de entry van de verify tabel ook weer netjes verwijderd.

Je kunt die kolom gerust naar de hoofdtabel users verplaatsen. Als je de kolom nullable maakt met DEFAULT NULL, ga je pas bij honderdduizenden gebruikers verschil merken. In ruil daarvoor krijg je in een veel eerder stadium al een performance-winst, omdat je niet meer twee queries hoeft uit te voeren.

Danny von Gaal op 14/02/2017 09:46:25:
In beide tabbelen staat email op UNIQUE dus ik krijg geen eeuwigheid aan ongeverifieerde emailadressen.

Daar moet je voorzichtig mee zijn, merkte ik afgelopen week weer toen een teamlid me met mijn Gmail-adres aan Slack had toegevoegd. Voor Google maakt het niet uit of je een e-mailadres schrijft als [email protected] met hoofdletters, [email protected] met kleine letters of [email protected] en [email protected] zonder punt. Voor Google is dat één e-mailadres, maar maak je de kolom UNIQUE, dan zijn het verschillende e-mailadressen. Bij Slack hadden ze daarmee ook geen rekening gehouden, dus ik kon niet inloggen mét een geldig e-mailadres.
Gewijzigd op 14/02/2017 11:59:30 door Ward van der Put
 
Danny von Gaal

Danny von Gaal

14/02/2017 12:35:55
Quote Anchor link
Oké dank je daar kan ik wat mee.

En los van dat de kolom op Unique staat kan ik eerst alle letters lowercase maken voor ik het insert anders. Met en zonder punt zijn voor mij wel andere emailadressen.
Gewijzigd op 14/02/2017 12:36:41 door Danny von Gaal
 
Frank Nietbelangrijk

Frank Nietbelangrijk

14/02/2017 13:23:29
Quote Anchor link
@ward: Zo ver ik weet zijn ALLE emailadressen case INsensitive. Dus komt [email protected] gewoon aan bij [email protected]. Dus zou lowercase maken inderdaad een hoop problemen kunnen vermijden.


(Wéér een reden om OOP te programmeren, hoef je enkel maar je setter aan te passen)
Gewijzigd op 14/02/2017 13:24:41 door Frank Nietbelangrijk
 
Willem vp

Willem vp

14/02/2017 14:32:29
Quote Anchor link
Frank Nietbelangrijk op 14/02/2017 13:23:29:
@ward: Zo ver ik weet zijn ALLE emailadressen case INsensitive.

Het gedeelte vóór de @ mag volgens de RFC case-sensitive zijn. In de praktijk ben ik nog geen server tegengekomen die dat onderscheid maakt.

Edit:
Je moet overigens niet zoeken op de term 'case sensitive':
Quote:
the local-part MUST be interpreted and assigned semantics only by the host specified in the domain part of the address.

Wat hier eigenlijk staat, is dat software die email-adressen verwerkt niet kan weten hoe de ontvangende mailserver met het local-part van een adres omgaat (het gedeelte voor de @ dus). Zoals Ward al beschreef kan het zijn dat punten in het local-part niet relevant zijn. Maar ook hoofdlettergevoeligheid valt daaronder.

Edit:
Nog een reden waarom het niet heel veel nut heeft om een unique constraint op email-adressen te zetten is RFC 5233. Ruwweg samengevat wordt daarin beschreven dat gebruiker+blabla@ een alias (sub-adres) is van gebruiker@.
Gewijzigd op 14/02/2017 15:06:04 door Willem vp
 
Frank Nietbelangrijk

Frank Nietbelangrijk

14/02/2017 16:11:29
Quote Anchor link
Dat is goed om te weten Willem. Bedankt voor jouw bijdrage.

Het zijn naar mijn idee beiden geen zaken om je heel erg druk over te maken maar je zou in theorie kunnen meemaken dat een bedrijf de volgende mensen en mailadressen in gebruik heeft:
Code (php)
PHP script in nieuw venster Selecteer het PHP script


Maar als dat zo is zullen ze daar snel vanaf willen denk ik want dan gaat het wel heel vaak mis of niet?
 



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.