MYSQL Duplicate entry negeren?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Software Ontwikkelaar PHP

Functie omschrijving Full Stack Software Ontwikkelaar gezocht! Voor een bedrijf in de regio van Ermelo zijn wij op zoek naar een Software Ontwikkelaar die gaat bijdragen aan het door ontwikkelen, onderhouden en optimaliseren van SaaS applicatie van dit bedrijf. Hierbij ga jij voor- en samenwerken met de klanten van de organisatie, het is hierbij dus van groot belang dat je communicatief vaardig bent en dat je beschikt over beheersing van zowel de Nederlandse als Engelse taal. Bedrijfsprofiel Waar ga je werken? Altijd al in een echt familiebedrijf willen werken? Dan is dit je kans! Het bedrijf waar je komt te

Bekijk vacature »

PHP back-end developer gezocht!

Functie Werk je liever zonder druk en keiharde deadlines maar met de focus op kwaliteit? Dan kom je hier op de juiste plek terecht! In Het team bestaat momenteel uit 12 developers, hiernaast werken er collega’s van front-end, UX maar ook marketing/sales en support. In iedere sprint ontwikkel je samen functionaliteiten met als uitdaging om de klanten de beste gebruikerservaring te bieden. Ze bieden een werkplek waar je jezelf kunt blijven ontwikkelen, en mee te werken aan zowel bestaande als nieuwe mogelijkheden. Eisen • HBO werk- en denkniveau (ze kijken niet naar een papiertje) • Je denkt graag mee over

Bekijk vacature »

Senior .NET Ontwikkelaar

In het kort Als Senior .NET ontwikkelaar ga je binnen onze business unit Transport en Logistiek aan de slag met complexe maatwerk software voor bedrijf kritische systemen binnen de technische automatisering. Denk bijvoorbeeld een IoT-oplossing voor de logistieke sector waarbij we van ruim 200.000 machines de telemetrie en events verwerken. We zijn actief in de distributielogistiek, havenlogistiek (denk aan ECT) en productielogistiek. Naast C# en .NET Core maken we ook gebruik van Azure technologie. En als trotse Microsoft Gold Partner leren we graag van en met jou. Wil jij jezelf blijven ontwikkelen binnen de technische automatisering met .NET, dan gaan

Bekijk vacature »

.NET Developer

Functieomschrijving Ben jij klaar voor de volgende stap in jouw carrière? Kom werken bij dit kleine softwarebureau en werk aan de gaafste maatwerk projecten. Je komt te werken in een klein development team en werk nauw samen met elkaar, om maatwerk software te leveren en bij te dragen aan bedrijfsautomatiseringen. Je gaat werken met de Microsoft stack en technieken als .NET, C#, Entity, MVC, SQL server. In de functie krijg je veel vrijheid om zelf beslissingen te nemen en je hebt impact op de bedrijfsprocessen. Bedrijfsprofiel Dit familiebedrijf bestaat al ruim 20 jaar. Zij hebben een vast netwerk van klanten,

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 »

Software Developer

Dit ga je doen Ontwerpen, ontwikkelen en onderhouden van (mobiele) internettoepassingen; Ontwikkelen en onderhouden van Microservices; Ontwerpen en optimaliseren van databases; Identificeren van nieuwe trends/ontwikkelingen binnen de branche. Hier ga je werken Deze marktleider op gebied van fietsen en fietservaring is gevestigd in twee provincies, verspreid over meerdere locaties. Jij zult voornamelijk in regio Joure aan de slag gaan. De organisatie doelt zich op het leveren van kwalitatief hoogwaardige producten aan alle hun klanten. De organisatie telt circa 4.000 medewerkers in meer dan 10 verschillende landen. Momenteel is de organisatie op zoek naar een Software Developer wilt meewerken aan het

Bekijk vacature »

Senior Front end developer Automotive Angular

Functie Als Senior Front end developer kom je te werken in een team van 11 developers. 9 van de 11 focussen zich op back end, welke is geschreven in Java, en 2 op de front end waarbij er gebruik wordt gemaakt van Typescript en Angular. De focus in deze rol ligt op 2 aspecten; doorontwikkeling van de eigen tooling en gebruik van de tooling t.b.v. klantprojecten. Momenteel zijn ze in de afrondende fase van een project waarbij ze het gehele verkoopproces van nieuwe auto’s anders ingeregeld hebben voor een grote dealer in Nederland. Waarbij Auto’s normaliter pas verkocht werden in

Bekijk vacature »

Front-end developer (React)

Functie Het frontend team bestaat momenteel uit 4 dedicated front-enders en is hard aan het groeien! Ook werken er diverse designers waar je veel mee schakelt. Samen leveren jullie een essentiële bijdrage aan de applicaties die ze voor hun klanten realiseren, jij bent hierin de schakel tussen de eindgebruiker en de slimme backend. Je werkt in het frontend team samen met de backend teams en product owners om te zorgen dat onze applicaties een fijne gebruikerservaring opleveren. Ze werken o.a. met: React, Atomic design, Styled components, JavaScript / TypeScript, NPM, Webpack Blade templates, HTML, SCSS, Git flow. Eisen • HBO

Bekijk vacature »

Software Developer

Dit ga je doen Ontwikkelen aan de software dat beschikbaar is op de substations; Ontwikkelen in C++, C, Python en JavaScript. Daarnaast op een Embedded Linux omgeving, opgebouwd met containers en DevOps; Meewerken aan cyber security (OWASP); Uitvoeren/bouwen van geautomatiseerde testen in samenwerking met de Quality Specialist; Vertalen van wensen van de klanten/business naar werkbare/duurzame oplossingen. Hier ga je werken Als Software Ontwikkelaar kom je te werken bij een organisatie gericht op de (internationale) energiemarkt, waar wordt gewerkt voor het verwerven en verwerken van realtime, high quality data. Er wordt gewerkt vanuit het hart van de substations en direct voor

Bekijk vacature »

.NET Developer gezocht!

Functie omschrijving Wij zijn op zoek naar een .NET Developer! Wil jij werken voor een internationaal bedrijf waar je legio mogelijkheden krijgt als Software Ontwikkelaar? Grijp nu je kans en kijk snel of jouw vaardigheden aansluiten bij onderstaand profiel! Je kunt een uitdagende rol gaan vervullen als .NET Developer binnen een internationaal bedrijf dat gevestigd is in omgeving Bergen. Dit bedrijf is zeer vooruitstrevend en verricht betekenisvol werk. Binnen dit bedrijf wordt gewerkt aan de productie en ontwikkeling van medische middelen. Als .NET Developer ga jij je bezig houden met het volgende: Je wordt betrokken bij alle fasen van software

Bekijk vacature »

Back-end Developer (Permanent position with the em

Bedrijfsomschrijving Dutch specialist in technical installation materials. Functieomschrijving Purpose of the position: Our client is looking for a Back-end Developer who, together with the rest of the energetic and dynamic team, is responsible for the development and management of the website. This not only concerns the development and management of the current website, but also the development of a new Headless Commerce Platform to keep the customer's website Future proof. Within the IT department, there is a real DevOps culture and the commerce team is at the forefront and tries to implement continuous improvements. Most important tasks: ï‚· Designing and

Bekijk vacature »

.NET Developer Senior

Dit ga je doen Het ontwikkelen van backend applicaties in C#; Het maken van vele koppelingen met andere ERP-applicaties zoals JD Edwards en SAP; Je bent (mede) verantwoordelijk voor het opstellen van technisch ontwerpen voor de te ontwikkelen software oplossingen; Je bent gemiddeld 90% van je tijd inhouse oplossingen aan het ontwikkelen en testen. De overige 10% van je tijd ben je bij klanten op locatie om oplossingen te implementeren, klanten te begeleiden en de software verder te innoveren; Naast het zelfstandig ontwikkelen van software oplossingen ben je ook bezig met het waarborgen van je contacten bij de klant, het

Bekijk vacature »

Ervaren Full stack developer

Functie omschrijving Ben jij op zoek naar een uitdagende in-house functie bij een bedrijf met enorme groeipotentie? Ben jij op zoek naar een nieuwe uitdaging vol afwisseling en gezelligheid? Dan ben je bij dit bedrijf aan het juiste adres! Wij zijn in omgeving Breda op zoek naar een ervaren full stack developer. Je gaat werken voor een zeer gewilde werkgever met goede arbeidsvoorwaarden. Je krijgt een plekje in het jonge IT team, work hard, play hard is hier duidelijk het motto! Jouw werkzaamheden zien er als volgt uit: Jij bent verantwoordelijk voor het ontwerpen en bouwen van webapplicaties. Je bent

Bekijk vacature »

Medior .NET developer

Functie Jij gaat als Medior .NET ontwikkelaar aan de slag in ons scrumteam met 6 developers die gepassioneerd en actief bezig zijn om onze spelers kwalitatieve en mooie spelervaringen aan te bieden. Als medior .NET developer ga jij werken aan een technisch hoogwaardig platform welke bezoekerspieken verwerkt van tienduizenden tot honderdduizenden gebruikers per minuut! Ons scrumteam werkt in drie wekelijkse sprints en wij beginnen iedere ochtend met een stand-up. Jij werkt bij ons met C# .NET, .NET Core, React.JS, Xamarin, Azure, Docker en Kubernetes. Wij hechten enorm veel waarde aan het leveren van hoogwaardige en kwalitatieve code. Zodra jij de

Bekijk vacature »

Traineeship Full Stack Java developer

Dit ga je doen Start jij op 7 augustus bij de Experis Academy dan kickstart jij jouw IT-carrière! We leiden je op tot een gewilde Full Stack Java Developer met alle kennis en vaardigheden die nodig zijn om de arbeidsmarkt te betreden. Wat kun je verwachten, hoe zit een dag in het leven van een Trainee eruit? Periode 1 Als Full Stack Java Developer Trainee volg je vanuit huis een op maat gemaakte onlinetraining die in het Engels wordt gegeven. De tijd die je kwijt bent aan het volgen van de training kun je vergelijken met een fulltime werkweek. In

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

08/05/2024 10:35:23
 
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.