bij een insert geen dubbele records toevoegen

Status
Niet open voor verdere reacties.

Ton08

Nieuwe gebruiker
Lid geworden
14 mrt 2006
Berichten
3
Ik heb onderstaande code:


$sql = "INSERT INTO persoon
(anummer, bsnr, Voornaam, Voorvoegsel,
Naam, gebdatum, straat, huisnummer,
huisletter, postcode, plaats, Geslacht,
naamaanduiding, geheim, status, Titel)
SELECT anr, sofinummer, voornaam,
voorvoegs, naam, gebdatum,
straat, huisnummer, huisletter,
postcode, kern, geslacht,
naamaandui, gehei, statu,
tite FROM geboorte";

$res = mysql_query($sql);
if($res === false and mysql_errno() == 1062)
{
echo 'je probeert iemand 2x in te voeren!';
}
elseif($res===false)
{
echo 'er gaat iets mis, maar dat ligt niet aan de dubbele invoer: '. mysql_error();
exit();
}
else
{
echo 'ok';
}

Het veld anummer is een uniek veld en accepteert dus geen doublures. Als ik bovenstaand script laat lopen krijg ik dus de boodschap 'je probeert iemand 2x in te voeren' en het script stopt. De boodschap is prima echter het script dient verder te gaan. Dit gebeurt echter niet. Hoe kan ik dit oplossen?
 
Wat bedoel je precies met verder gaan?

Moet het script bijvoorbeeld weer terugkeren naar de pagina, of de rest van de invoer in de database invoeren?
 
Als dit het gehele script is, dan stopt ie inderdaad. Wat wil je dat er gebeurt ? Als het script langer is, geef dat deel ook eens. Misschien stopt je script ergens anders (op 'n die () of exit ().)

Wat je zelf kan doen, als het script langer is, zoeken naar een die () en exit (). Als je er eentje vindt, maak er dan dit van: exit ( __LINE__ ); (of met die ( __LINE__ );, werkt hetzelfde). Als het script nu ergens vastloopt, zie je een regelnummer staan. Daar loopt jou script vast. Weet je in ieder geval in welke richting je ongeveer moet kijken :)
 
Mijn menning is dat dit iets overzichtelijker is...

PHP:
<?

$sql = "SELECT blaat FROM tabel WHERE iets = '" . $niets . "'";
$resultaat = mysql_query($sql) or die ("Kon geen verbinding maken met MySQL");

// Hey je komt niet voor voeg toe!    
if(mysql_num_rows($resultaat) == 0) {

	//Ja ja wees welkom ik voeg je toe
	echo "Welkom je bent opgenomen";

}else{

	// Hey dubbele invoer :S
	echo "Ja dat gaat niet door 2 keer het zelfde";
}
?>
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan