Toon posts:

MySQL error: 1062

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ok, ik ben dus bezig om ingevoerde gegevens op te slaan. Bij de foutmelding laat hij wel zien dat hij de waardes meeneemt en ook goed, maar om de één of andere reden krijg ik dus een MySQL error:

MySQL error: 1062 (Duplicate "0" for key 2)
Session halted.

Ik wil dat als iemand zich inschrijft die geen lidnummer heeft automatisch een opvolgend lidnummer krijgt toegewezen, hierbij hoort de volgende code:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?
/* Als zich geen errors voordoen, dan moeten de gegevens opgeslagen worden en moet de volgende pagina getoond worden op het schem */
    If ($error != 1)
    { 
        /* Hier worden de gegevens die de klant heeft ingevuld opgeslagen in de database */
        $dbcon->query("INSERT INTO sn_Lid_1(CodeGeslacht, Roepnaam, Achternaam, Adres, Postcode, Woonplaats,                         CodeLand, GeboorteDatum, TelefoonThuis, TelefoonMobiel, EmailThuis, HomepageThuis) 
                    VALUES (\"$CodeGeslacht\", \"$Roepnaam\", \"$Achternaam\", \"$Adres\", \"$Postcode\",                \"$Woonplaats\", \"$CodeLand\", \"$GeboorteDatum\", \"$TelefoonThuis\", \"$TelefoonMobiel\",        \"$EmailThuis2\", \"$HomepageThuis\")");
        header("Location: aanmelden_stap2.php");
    }

    /* Hier wordt een uniek nummer gegenereerd voor niet-leden dmv van de functie "nextid" */
    If ($CodeLid == FALSE)
    {
        $CodeLid = $dbcon->nextid("CodeLid");
        $dbcon->query("INSERT INTO sn_Lid_1(CodeLid) VALUES ($CodeLid) WHERE Roepnaam=\"$Roepnaam\"");
    }    
?>

Kan iemand mij vertellen wat die foutmelding precies inhoud, want daar snap ik de ballen van..... :(

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

die error betekend dat je voor de 2e keer iets probeert te inserten op id=0 en dat die al bestaat
maar je code klopt niet
dus als je code kloppend is is de error ook weg

Doet iets met Cloud (MS/IBM)


Verwijderd

Topicstarter
Op woensdag 28 november 2001 14:54 schreef D2k het volgende:
die error betekend dat je voor de 2e keer iets probeert te inserten op id=0 en dat die al bestaat
maar je code klopt niet
dus als je code kloppend is is de error ook weg
Ok, dat het niet klopt is natuurlijk een beetje een open deur intrappen... maar wat klopt er dan in vredesnaam niet... :'(

Verwijderd

Je hebt geen unieke id code denk ik.

wat je gewoon moet doen is eerst een extra item in je tabel aanmaken (iets van idcode) en dat op autoincrement zetten (zo krijgt iedere deelnemer een uniek nummer toegekend.)

Weet je trouwens wat er nu gebeurt, als er 2 mensen zijn met dezelfde roepnaam ?

Juist, dat werkt niet.

Dit kun je gewoon oplossen door bij de eerste insert die code meteen erin te stoppen.

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Op woensdag 28 november 2001 14:57 schreef Seekers het volgende:

[..]

Ok, dat het niet klopt is natuurlijk een beetje een open deur intrappen... maar wat klopt er dan in vredesnaam niet... :'(
1 Doe bijvoorbeeld eerst je code eens wat netter opschrijven
2 Doe eens in de manual kijken wat er staat over mysql errors
3 Kom terug als je het jezelf wat moeilijker gemaakt hebt en er ook echt wat van denkt te leren wanneer wij je antwoord geven.

<maakduidelijk how="voorzichtig">
Ik wordt er eerlijk gezegd namelijk een beetje moe van de vragen die je de afgelopen paar dagen gesteld hebt. Waren over het algemeen allemaal slordigheden.
Gewoon gemakzucht om dan hier te gaan posten.

</maakduidelijk how="voorzichtig">

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Verwijderd

Topicstarter
Op woensdag 28 november 2001 15:07 schreef drm het volgende:

Ik wordt er eerlijk gezegd namelijk een beetje moe van de vragen die je de afgelopen paar dagen gesteld hebt. Waren over het algemeen allemaal slordigheden.
Gewoon gemakzucht om dan hier te gaan posten.
Wat voor jouw gemakzucht is, is voor een mij een probleem. Excuse me dat ik niet zoveel kennis heb als jullie. Excuse me dat ik jouw wijsheid en grootheid niet heb edelachtbare...
Daarbij hoef je niet te reageren als je het onzin vind.

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16-09 16:30

Janoz

Moderator Devschuur®

!litemod

Op woensdag 28 november 2001 15:24 schreef Seekers het volgende:



[..]



Wat voor jouw gemakzucht is, is voor een mij een probleem. Excuse me dat ik niet zoveel kennis heb als jullie. Excuse me dat ik jouw wijsheid en grootheid niet heb edelachtbare...

Daarbij hoef je niet te reageren als je het onzin vind.
Je 'probleem' is simpel op te lossen door te kijken in de manual van MySQL bij de uitleg van autoincrement.

Daarnaast zou het handig kunnen zijn om voordat je je queries echt op de DB loslaat eerst een keertje de queries te printen (Dan zul je namelijk zien dat er altijd een 0 wordt ingevoerd ipv een leuk oplopend id-tje)

Een foutmelding al duplicate entry kan IMHO eigenlijk niet duidelijker (Tenzij je engels niet goed is, maar het komt er op neer dat je een nieuw record wilt invoegen waarvan 1 van de velden een waarde heeft die al in de DB staat terwijl die waarde uniek zou moeten zijn)

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Op woensdag 28 november 2001 15:24 schreef Seekers het volgende:

[..]

Wat voor jouw gemakzucht is, is voor een mij een probleem. Excuse me dat ik niet zoveel kennis heb als jullie. Excuse me dat ik jouw wijsheid en grootheid niet heb edelachtbare...
Daarbij hoef je niet te reageren als je het onzin vind.
Kijk, het is helemaal niet mijn bedoeling om uit de hoogte te doen, en als dat wel zo over is gekomen, dan spijt me dat.

Maar probeer gewoon eerst eens door de tips uit de vorige topics van je je eigen code te screenen.

Loop het desnoods letter voor letter na. Lijn het uit. echo je errors. echo de mogelijke fout-oorzaken (in dit geval de query). Lees de manual na op mogelijke often made mistakes etc...

Het is niet zo moeilijk om er zelf uit te komen in dit soort gevallen. Zulke vragen irriteren gewoon enorm, puur en alleen om het feit dat je niet veel initiatief uitstraalt in je post.

Het komt over zo van "Ok, ik heb een fout, lossen jullie het even op want het werkt niet". Zo bedoel je het vast niet, maar het is wel annoying as hell. En ik stel voor verdere discussie hierover even over de mail of ICQ #61628736 te doen.

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • MisterData
  • Registratie: September 2001
  • Laatst online: 07-09 20:23
Zo komt het bij mij dus helemaal niet over. PHP geeft bij mij ook wel eens een zeer onduidelijke foutmelding. In de manual staat erg weinig over error codes, dus wat dat betreft mag je het toch hier posten ?? Geef gewoon antwoord op zijn vraag zonder eerst te zeiken. Leert hij ook nog wat van en dan hoeft ie het misschien de volgende keer niet meer te vragen !! :)

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

Op woensdag 28 november 2001 16:08 schreef MisterData het volgende:
Zo komt het bij mij dus helemaal niet over. PHP geeft bij mij ook wel eens een zeer onduidelijke foutmelding. In de manual staat erg weinig over error codes, dus wat dat betreft mag je het toch hier posten ?? Geef gewoon antwoord op zijn vraag zonder eerst te zeiken. Leert hij zij ook nog wat van en dan hoeft ie zij het misschien de volgende keer niet meer te vragen !! :)
maar dan nog
dit is een duidelijke error
en programmeren begint bij nadenken experimenteren en proberen

Doet iets met Cloud (MS/IBM)


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16-09 16:30

Janoz

Moderator Devschuur®

!litemod

Op woensdag 28 november 2001 16:08 schreef MisterData het volgende:

Zo komt het bij mij dus helemaal niet over. PHP geeft bij mij ook wel eens een zeer onduidelijke foutmelding. In de manual staat erg weinig over error codes, dus wat dat betreft mag je het toch hier posten ?? Geef gewoon antwoord op zijn vraag zonder eerst te zeiken. Leert hij ook nog wat van en dan hoeft ie het misschien de volgende keer niet meer te vragen !! :)
Dit is geen PHP error, maar een SQL error.. Bij PHP heb ik idd wel aardig vreemde errors voorbij zien komen.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • MisterData
  • Registratie: September 2001
  • Laatst online: 07-09 20:23
OK stom van mij :) niet gezien :) Maaruh, je moet inderdaad een beetje kunnen survivallen als je programmeur bent. Je meot jezelf ook wel een beetje kunnen helpen, in de manual lezen lijkt mij niet zo moeilijk :? Maar dit is een goede les voor meneer Topicstarter. Dus : Alleen posten als je er _ECHT_ niet uitkomt. En denk eraan : we willen je hiermee _NIET_ afschrikken om nooit meer een topic te plaatsen :)
Pagina: 1