MYSQL Duplicate entry negeren?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Software Programmeur

Functie omschrijving Voor een informele club in omgeving Delft zijn wij op zoek naar versterking. Ben jij op zoek naar een nieuwe uitdaging als Software Programmeur lees dan snel verder! Als ontwikkelaar kom je terecht op een afdeling van 6 medewerkers. Werkzaamheden Programmeur Je bent bezig met het ontwikkelen van software en webapplicaties. Je kunt technische klussen uitvoeren op locatie. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een project goed verloopt. Je zult klanten ondersteunen. Verder zul je technische ontwerpen en gebruikersdocumentaties schrijven en deze onderhouden. Er wordt voornamelijk gewerkt met PHP, Java en

Bekijk vacature »

Front end developer binnen het onderwijs

Functie Het doel van dit team is om te zorgen dat de studenten altijd op de hoogte zijn van relevante informatie en de mogelijkheid hebben om online vragen te stellen. Hiervoor hebben ze een portal ontwikkeld. De app is echt een greenfield project met een eigen inrichting middels cloud. De ontwikkeling wordt gedaan door gebruik te maken van oa. Javascript, React, CSS, Next.js, GraphQL in een Azure Cloud omgeving. Daarnaast gebruiken ze tooling als Figma, storybook, Jest en Github. De complexiteit in deze rol zit hem in het feit dat data uit verschillende bronsystemen komt waarbij er zowel gekoppeld wordt

Bekijk vacature »

Mendix Developer

Functie Wat ga je doen als Mendix Developer? We leven in een wereld die snel ontwikkelt en veranderd, ook nemen bedrijfsbelangen toe en blijken risico’s moeilijker in te schatten, daarom wij op zoek naar Junior, Medior en Senior Developers die bedrijven kunnen helpen met hun screeningproces en zorgen dat deze efficiënt en 100 procent AVG compliant is. Het concept achter Mendix is duidelijk. De klant heeft een vraag/probleem. Dit kunnen we door middel van slimme software oplossen. In plaats van te werken met de nieuwste technieken en tools, wordt er gekozen voor het implementeren en maken van software dat op

Bekijk vacature »

Full Stack Developer

Ben jij een kei van een full-stack developer? Heb je ambitie om te groeien en jezelf te ontwikkelen binnen een ambitieus bedrijf? Gaat jouw hart sneller kloppen van transpilers of frameworks zoals Angular, Vue of React? Dan ben jij de persoon die wij zoeken! Voor onze opdrachtgever zijn wij op zoek naar een full-stack developer om onderdeel te zijn van een team dat bestaat uit gedreven developers. Ieders met hun eigen specialiteiten en kennis van de projecten en behoeften vanuit de product owners. We zoeken iemand die met zijn/haar huidige competenties en domeinen dit team wil begeleiden, stimuleren en tevens

Bekijk vacature »

Software programmeur

Functieomschrijving Voor een erkende werkgever in de regio van Goes zijn wij op zoek naar een enthousiaste software programmeur met PHP/Symfony ervaring. Een gedreven persoon die het development team komt versterken met het aanpakken van complexe projecten. Ben jij op zoek naar een baan met veel uitdaging binnen een snelgroeiend e-commerce bedrijf, waar je de tijd en ruimte krijgt voor zowel professionele als persoonlijke groei? Lees dan snel verder! Dit ga je doen: Beheer en ontwikkeling van de serviceportal in Symfony en de webshops in de tweede versie van Magento; Testen en door ontwikkelen van software; Ontwikkelen van nieuwe functionaliteiten;

Bekijk vacature »

Ervaren C#.NET developer

Functieomschrijving We zijn op zoek naar een ervaren C#.NET programmeur voor een moderne werkgever in de regio Prinsenbeek. Als programmeur zal je bezig zijn met het ontwikkelen van op maat gemaakte webapplicaties voor verschillende klanten, waarbij je ervoor zorgt dat complexe processen zo goed mogelijk worden ondersteund. Je takenpakket omvat onder andere: Werken met databases en dataopslagoplossingen, implementeren van beveiligingsoplossingen en het waarborgen van de beveiliging van applicaties en gegevens, evenals het schrijven van technische documentatie en gebruikershandleidingen. Het ontwikkelen en onderhouden van C#.NET-applicaties. Bijdragen aan het ontwerp en de architectuur van softwaretoepassingen. Het schrijven van hoogwaardige en herbruikbare codes.

Bekijk vacature »

Senior Front-end Developer

Wordt jij de nieuwe Front end specialist / developer? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. 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 binnen als

Bekijk vacature »

Junior PHP (Laravel) Developer

Functie omschrijving Wij zijn op zoek naar een PHP Laravel Developer! Sta je aan het begin van je carrière en ben je op zoek naar een leuke baan? Lees dan verder! Voor een softwarebedrijf in omgeving van Schiphol zijn wij op zoek naar een ervaren PHP (Laravel) Developer. Je gaat je bezighouden met het ontwikkelen van innovatieve bedrijfsapplicaties. Samen met het team, bestaande uit designers en developers, maak je mooie oplossingen voor bedrijven in diverse branches. Je zorgt dat de opgeleverde websites perfect werken en de klant meer dan tevreden is. Je kunt rekenen op een afwisselende baan met leuke

Bekijk vacature »

Java/Kotlin Developer

Java/Kotlin Developer Ben jij een ervaren Java/Kotlin developer met een passie voor het automatiseren van bedrijfsprocessen? Wil je graag deelnemen aan uitdagende projecten bij aansprekende klanten? En ben je op zoek naar een professioneel, ambitieus en dynamisch bedrijf om je carrière verder te ontwikkelen? Kom dan ons team bij Ritense in Amsterdam versterken! Zo ziet de functie eruit: Als Java/Kotlin developer bij Ritense ben je verantwoordelijk voor de ontwikkeling en implementatie van applicaties die bedrijfsprocessen automatiseren, zodat onze klanten slimmer, efficiënter en klantgerichter kunnen werken. Als developer ben je in de lead en zorg je voor de correcte oplevering van

Bekijk vacature »

Als PHP developer bijdragen aan beter onderwijs?

Functie Momenteel zijn ze op zoek naar een PHP developer die mee gaat werken aan de (door)ontwikkeling van de producten en zo helpt aan de uitvoering van hun ontwikkelprojecten. Je komt te werken binnen hun development team bestaande uit 6 ontwikkelaars. Ze staan zowel open voor meer junior als medior/senior developers. Je kunt snel veel verantwoordelijkheid krijgen en doorgroeien binnen het bedrijf. Bovendien ben je betrokken bij het bepalen van de product roadmap en de inbreng van (nieuwe) technologieën. De applicaties waaraan je werk worden gebruikt op onderwijsinstellingen door heel Nederland. De tech-stack bestaat voornamelijk uit Laravel (PHP), Vue.js en

Bekijk vacature »

Senior Javascript developer

Functie Het platform is gebouwd in een moderne JavaScript stack, die gebruikt maakt van:  React.js  Redux  TypeScript  Node.js  Google Cloud functions (node.js)  Semantic UI Alle code wordt getest en beoordeeld door collega developers. De continuous integration pipeline maakt het mogelijk om elke dag waarde te leveren aan hun klanten. Het ontwikkelproces is pragmatisch en gebaseerd op Scrum. Wat je zult doen: Ten eerste kun je nadrukkelijk jouw eigen stempel drukken op de technologie, het product en de cultuur van het bedrijf. Je bent bezig met het uitwerken van de architectuur van nieuwe functionaliteiten op

Bekijk vacature »

Leidinggevend Full Stack Developer

Hé jij, nieuwe Pinkcuber! Ga aan de slag bij Pinkcube, online leverancier van promotieartikelen! Een innovatieve organisatie waar extra stappen zetten voor klanten de normaalste zaak van de wereld is. Ambitieus zijn we ook. ‘Naoberschap’ staat bij Pinkcube hoog in het vaandel; we helpen elkaar en iedereen is welkom. Pinkcube is Great Place to Work Certified, erkend leerbedrijf, maatschappelijk betrokken partner van stichting Present en partner van CliniClowns. En misschien wel jouw nieuwe werkgever. Wij zoeken namelijk een enthousiaste: Leidinggevend Full Stack Developer (40 uur, medior/senior) Ben jij klaar om baanbrekende ideeën tot leven te brengen en deel uit te

Bekijk vacature »

Integratie Developer / Architect

Dit ga je doen Als Integratie Developer / Architect binnen deze organisatie krijg je echt de kans om impact te maken. De organisatie is groeiende maar houdt een corporate cultuur buiten de deur. Heb je een goede business case: zorg voor goede argumentatie en ga ervoor! Geen stroperig beslissingsproces dat jouw ideeën in de weg staat! Enkele van jouw taken: Je ontwerpt en ontwikkelt nieuwe integraties met behulp van interne tools (Boomi) of externe partners; Je vertaalt functionele specificaties naar technische oplossingen; Je denkt mee over strategische ontwikkelingen op het gebied van applicatie integratie; Je voert regie op leveranciers en

Bekijk vacature »

Software Developer C# .NET

Functie omschrijving Zoek jij een nieuwe uitdaging binnen development waar je komt te werken binnen een flexibel, jong en ondernemend bedrijf? Wij zijn voor deze functie op zoek naar een C# .NET Developer die enthousiast wordt van het aansluiten en begeleiden van (complexe) nieuwe klanten. Verder begeleid je complexe projecten, ben jij iemand die altijd kansen ziet? Dan zoeken wij jou! Verder ga jij je bezighouden met: Het verbeteren van functionaliteiten binnen het dataplatform; Meedenken in oplossingsrichtingen; Werken aan de architectuur; Ontwikkelen van nieuwe technologieën. Bedrijfsprofiel Waar ga je werken? De organisatie waar je voor gaat werken heeft een onafhankelijk

Bekijk vacature »

Applicatie ontwikkelaar

Functie omschrijving Zelfstandige applicatie ontwikkelaar gezocht voor familiair bedrijf in omgeving Rotterdam! Ben jij op zoek naar een nieuwe uitdaging en zoek jij een informele werkgever waar je zelfstandig kunt werken binnen een leuk IT team, lees dan snel verder want wie weet zijn wij op zoek naar jou! Binnen deze rol houdt jij je met het volgende bezig: Onderhouden en ontwikkelen van de IT systemen; Opzetten van Azure Cloud systemen, denk aan interfaces, hardware op de Cloud, webportalen of BI functies; Werken aan scripts binnen verschillende software applicaties, denk aan ERP en CAD; Ontwikkelen en implementeren van MS PowerApps

Bekijk vacature »
Rob Tel

rob Tel

01/10/2009 14:26:00
Quote Anchor link
Goedemiddag,

Ik heb momenteel het volgende script:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?  if  (trim($_POST['checkbox'])) { include("config.php");
 
$naam   = mysql_escape_string($_POST['name']);
$email  = mysql_escape_string($_POST['email']);
$ip      = mysql_escape_string($_SERVER["REMOTE_ADDR"]);


 
$add_all   = "INSERT INTO wiml_maillist VALUES ('','','$naam','$email','$ip', '".time()."','2')";
mysql_query($add_all, $db) or die (mysql_error());
mysql_close($db); ?>


<form name="form" method="POST" >
<input name="form" type="hidden" value="" />
<table>
<tr>
<td width="195">Naam: <i>*</i></td>
<td width="401"> <input type="tekst"name="name" id="email2">
</td></tr>
<tr>
<td>E-mail adres: <i>*</i></td>
<td><input type="tekst"name="email" id="email2"></td>
</tr>
<td>Nieuwsbrief ontvangen?</td>
<td>
<input name="checkbox" type="checkbox" value="checkbox" />

</td>
<tr><td>
<input type="submit" name="Submit2" value="Versturen" onclick="" id="button" /></td></tr>
</table>

Alles gaat goed, dat wil zeggen dat hij het mits de checkbox is aangevinkt hij alle data in de database zet.
Enkel als $email al in de database voorkomt krijg ik:
Duplicate entry '[email protected]' for key 2

Is het ook mogelijk dat hij deze foutmelding negeert en gewoon doorgaat met het script.. of een andere manier om het te omzeilen?

Misschien met een if ofzo?
iemand? alvast bedankt
 
PHP hulp

PHP hulp

11/03/2025 21:40:36
 
Jan Willem van der Veer

Jan Willem van der Veer

01/10/2009 14:47:00
Quote Anchor link
Zie eens: http://dev.mysql.com/doc/refman/5.1/en/insert.html

MySQL:
If you specify the IGNORE keyword in an INSERT statement, errors that
occur while executing the statement are treated as warnings instead.
For example, without IGNORE, a row that duplicates an existing UNIQUE
index or PRIMARY KEY value in the table causes a duplicate-key error
and the statement is aborted. With IGNORE, the error is ignored and the
row is not inserted


Daar staat een INSERT IGNORE INTO of evt. kun je REPLACE INTO gebruiken.
 
- Ariën  -
Beheerder

- Ariën -

01/10/2009 14:51:00
Quote Anchor link
En plak jij ook altijd de irritante knipperende alarm-ledjes op je autodashboard dan af :-P?
 
Rob Tel

rob Tel

01/10/2009 14:52:00
Quote Anchor link
bedankt, heb het bekeken.. maar moet ik dan niet eerst een soort if inzetten om te checken of $email duplicate is?

ik ben niet echt gevorderd met php, weet je misschien hoe ik kan checken of de $email dubbel is? want enkel in dat geval mag hij de insert ignoren...

bedankt

ps; ik heb geen auto;-)
 
Jaron T

Jaron T

01/10/2009 14:54:00
Quote Anchor link
Negeren ( fout onderdrukken ) is geen (goede) manier van oplossen ;)
 
Jan Willem van der Veer

Jan Willem van der Veer

01/10/2009 14:54:00
Quote Anchor link
Quote:
En plak jij ook altijd de irritante knipperende alarm-ledjes op je autodashboard dan af :-P?
Nee, maar in dit geval is het gaat in dit geval enkel om een UNIQUE in dat geval ga ook liever voor een REPLACE. Maar je zou het ook in PHP kunnen afvangen en daar de errors negeren die jou even niet welgevallig zijn.
 
Jan Willem van der Veer

Jan Willem van der Veer

01/10/2009 14:56:00
Quote Anchor link
Quote:
Negeren ( fout onderdrukken ) is geen (goede) manier van oplossen ;)
Ah, nu snap ik waarom we tegenwoordig allemaal zo'n fan zijn van die TRY-CATCH-FINALLY-structuur en mensen die werken met error-reporting E_NONE en überhaupt van MySQL...

PS:
Je kunt ook gewoon even afvangen met:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
mysql_query($sInsertQuery);
if(mysql_errorno() == 1062) echo 'Sorry, maar jij probeert te dupliceren';
else if(mysql_errorno()) echo 'Er is een andere fout opgetreden';
?>

Overigens moet je dan wel een UNIQUE-key op de (combinatie van) kolom(men) hebben die je uniek wilt hebben.

Gelieve Niet Bumpen::
Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de Afbeelding knop om je tekst aan te passen.

SanThe.
Gewijzigd op 01/01/1970 01:00:00 door Jan Willem van der Veer
 
Rob Tel

rob Tel

01/10/2009 14:56:00
Quote Anchor link
hmm het gaat erom dat er bij een contactformulier de optie wordt geboden om je aan te melden voor de nieuwsbrief..

maar als iemand dan al ingeschreven is voor de nieuwsbrief en toch een x het contactformulier verzend en daarbij aanvinkt dat hij de nieuwsbrief wil ontvangen dan krijg ik die melding en verstuurd hij de contactform niet..

vandaar dat ik hem wil omzeilen..
het is me echter nog steeds niet gelukt..

iemand?
 
Jan Willem van der Veer

Jan Willem van der Veer

01/10/2009 15:02:00
Quote Anchor link
Quote:
maar als iemand dan al ingeschreven is voor de nieuwsbrief en toch een x het contactformulier verzend en daarbij aanvinkt dat hij de nieuwsbrief wil ontvangen dan krijg ik die melding en verstuurd hij de contactform niet..
Is die tabel voor nieuwsbriefontvangers een aparte tabel? Dan zou ik gewoon een UNIQUE-key zetten op de kolom `mailaddress` (of hoe die bij jou ook mag heten). Bij het falen van de query op die tabel zou ik er gewoon vanuit gaan dat het een duplicatie is en dat hij daarom mislukt is (in theorie zijn er nog een paar andere mogelijkheden, maar die komen zeer weinig voor en daarnaast kun je er weinig mee dan zeggen dat het niet gelukt is om de persoon toe te voegen aan de tabel).
 
Rob Tel

rob Tel

01/10/2009 15:06:00
Quote Anchor link
hmm oke, en waar kan ik dat doen?

het gaat er nu dus om dat als het mailadres al in de database staat (aparte tabel) en iemand vult het contactformulier in en vinkt de optie om de nieuwsbrief te ontvangen aan dan krijg ik de melding

Duplicate entry '[email protected]' for key 2

en verstuurt hij het contactformulier niet meer... dat kan ik dus omzeilen middels unique?
 
Jan Willem van der Veer

Jan Willem van der Veer

01/10/2009 15:12:00
Quote Anchor link
Quote:
Duplicate entry '[email protected]' for key 2
Jij krijgt die error al?
Nou dan moet je gewoon eens een keer dit:
mysql_query($query) or die();
vervangen door:
mysql_query($query);
 
Rob Tel

rob Tel

01/10/2009 15:16:00
Quote Anchor link
hmm als ik die weghaal dan doet hij mijn andere php validaties niet meer zoals:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?if (isset($_POST['name']) && trim($_POST['name']) == '') { ?>

<div class="contactblock">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
<?
       print 'U heeft geen naam ingevuld.'?>
<a href='javascript:history.go(-1)'>Ga terug.</a></div>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? ;}
 
Rob Tel

rob Tel

01/10/2009 15:23:00
Quote Anchor link
trouwens als ik:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?mysql_query($add_all, $db) or die (mysql_error()); ?>


verander in

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?mysql_query($add_all, $db)
if(mysql_errorno() == 1062) echo 'Sorry, maar jij probeert te dupliceren';
else if(mysql_errorno()) echo 'Er is een andere fout opgetreden'; ?>


dan krijg ik:

Parse error: syntax error, unexpected T_IF in /home/p670/domains/ipodsoftware.nl/public_html/contact.php on line 103

Gelieve Niet Bumpen::
Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de Afbeelding knop om je tekst aan te passen.

SanThe.
Gewijzigd op 01/01/1970 01:00:00 door rob Tel
 
Richard van Velzen

Richard van Velzen

01/10/2009 15:31:00
Quote Anchor link
Ja, je bent een ; vergeten...

Quote:
Nee, maar in dit geval is het gaat in dit geval enkel om een UNIQUE in dat geval ga ook liever voor een REPLACE. Maar je zou het ook in PHP kunnen afvangen en daar de errors negeren die jou even niet welgevallig zijn.

Oh ja, we willen natuurlijk allemaal dat onze mooie cascadende foreign keys doorvallen en ineens alle data weg is? REPLACE is een ramp, vergeet alsjeblieft dat het überhaupt bestaat.
 
Rob Tel

rob Tel

01/10/2009 15:31:00
Quote Anchor link
heb het opgelost jongens met de oplossing van Jan Willem van der Veer

hartelijk dank
 
Jan Willem van der Veer

Jan Willem van der Veer

01/10/2009 15:34:00
Quote Anchor link
Quote:
Oh ja, we willen natuurlijk allemaal dat onze mooie cascadende foreign keys doorvallen en ineens alle data weg is? REPLACE is een ramp, vergeet alsjeblieft dat het überhaupt bestaat.
Ik heb niet voor niets gezegd dat als je foutloos wilt werken dat je dan in elk geval niet voor MySQL moet kiezen. Daarnaast zou ik in dit geval ook nooit een FK/PK-relatie opzetten, gezien je best wel wilt dat mensen zichzelf uitschrijven, maar die nieuwsbrief moeten ze lekker apart uitschrijven ;)

Maar ja: je zou natuurlijk altijd kunnen gaan voor ON DUPLICATE UPDATE kolom_met_oude_waarde=kolom_met_oude_waarde;
Gewijzigd op 01/01/1970 01:00:00 door Jan Willem van der Veer
 
Phillip Mango

Phillip Mango

18/11/2010 10:03:02
Quote Anchor link
Het moet zo zijn:

if(mysql_errno() == 1062)

i.p.v.

if(mysql_errorno() == 1062)
 



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.