Toon posts:

[php + mysql] controle dubbele naam in tabel

Pagina: 1
Acties:
  • 147 views sinds 30-01-2008

Verwijderd

Topicstarter
hoe doe je dat?

ik krijg dus een $nick binnen via een formulier,
en in de tabel users heb je een kolom met daarin de nicks
er mag dus geen dubbele zijn

eerst iets van:
$query = "SELECT nick betaald FROM users WHERE nick=$nick";
$result = mysql_query($query);

als ik SELECT nick betaald FROM users WHERE nick=$nick gewoon in dsat sql scherm uitvoer, dan krijg je duidelijk resultaten te zien
maar hoe zet ik dit nou om in iets van
als hij al bestaat dan -> formulier opnieuw,
en anders opslaan in de tabel

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 18:08

gorgi_19

Kruimeltjes zijn weer op :9

SQL:
1
SELECT count(nick) as AantalNicks FROM users WHERE nick=$nick

:?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Leg gewoon een UNIQUE constraint op die kolom. Anders kom je namelijk in de problemen als twee mensen ongeveer tegelijkertijd dezelfde nick aanvragen. Echter houd er dan wel rekening mee dat je dan de beperking vastlegd in je datamodel en dan moeilijker later kan wijzigen dat er wel twee mensen met dezelfde nick mogen zijn.

  • PhoneTech
  • Registratie: Mei 2000
  • Laatst online: 11:28
een unique index op de kolom Nick zetten.
Dan kunnen er geen dezelfde nicks ingevoerd worden.

Te laat

[ Voor 6% gewijzigd door PhoneTech op 28-11-2003 22:36 . Reden: te laat ]


Verwijderd

Topicstarter
Glimi schreef op 28 november 2003 @ 22:33:
Leg gewoon een UNIQUE constraint op die kolom. Anders kom je namelijk in de problemen als twee mensen ongeveer tegelijkertijd dezelfde nick aanvragen. Echter houd er dan wel rekening mee dat je dan de beperking vastlegd in je datamodel en dan moeilijker later kan wijzigen dat er wel twee mensen met dezelfde nick mogen zijn.
ja dat snap ik wel, alleen hoe kom ik dan weer terug bij het formulier met alle waarden er nog in en dat hij die nick moet veranderen omdat die al bestaat...

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 18:08

gorgi_19

Kruimeltjes zijn weer op :9

Hij geeft dan wel een error; error afvangen dus.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
Fout

SQL-query :  

ALTER TABLE `users` ADD UNIQUE (

`nick` 
) 

MySQL retourneerde: 


BLOB column 'nick' used in key specification without a key length


wat betekent dit? want dit krijg ik dus als ik dat wil doen

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 18:08

gorgi_19

Kruimeltjes zijn weer op :9

ERhm... Hanteer jij een BLOB-veldtype voor nick? :X

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
nee, een text, daarom snap ik die melding ook niet :?

Verwijderd

niet om te flamen hoor, maar dit zijn zulke simplistische vragen..

leer eerst eens een klein beetje programmeren voor je zulke vragen gaat stellen (programmeren zonder het gebruik van mySQL dus ook).

al zou je de query op zo'n (sorry) idiote manier doen als jij doet, dan nog zou het echt niets voor moeten stellen om te bereiken wat jij hier vraagt.. als dat je al niet lukt, dan mis je nog _alle_ programmeerervaring.. ga die dus eerst eens opdoen.

edit:
en voor de laatste posts voor mij: een text type is ook een blob
gebruik varchar of char

[ Voor 11% gewijzigd door Verwijderd op 29-11-2003 11:45 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 18:08

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 29 november 2003 @ 11:33:
nee, een text, daarom snap ik die melding ook niet :?
Verwacht jij nicks dan van 16.000 tekens lang oid? :?

varchar, nvarchar, etc. zijn de veldtypes die iig normaliter hiervoor gebruikt worden.

Trouwens, al je foutmelding in Google gegooid?

[ Voor 23% gewijzigd door gorgi_19 op 29-11-2003 12:07 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

gorgi_19 schreef op 29 november 2003 @ 12:04:
Verwacht jij nicks dan van 16.000 tekens lang oid? :?
tinytext heeft een lengte specifier van 1 byte, 0 t/m 255 characters lengte dus.. kvind 't geen rare gedachte om dat type te kiezen.. maar zoals ik al zei, text types zijn ook blobs, ga dus beter voor varchar(255) of kleiner...

[ Voor 6% gewijzigd door Verwijderd op 29-11-2003 12:23 ]


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

Mjah basiscursusje SQL runnen we geen forum voor. Lees P&W FAQ - SQL eens door :)

Professionele website nodig?

Pagina: 1

Dit topic is gesloten.