Autor | Zpráva | ||
---|---|---|---|
Anonymní Profil * |
#1 · Zasláno: 9. 8. 2006, 10:22:04
$iii = MySQL_Query("SELECT * FROM tip_users WHERE (name LIKE '$nick')");
if (MySQL_Num_Rows($iii) <> 1){ $kkk="ok"; } else{ $kkk="ko"; echo("Nick už někdo používá"); } |
||
Anonymní Profil * |
#2 · Zasláno: 9. 8. 2006, 10:23:55
I když tam v tý tabulce ten nick je, tak to hodí tu první možnost ($kkk="ok"). Potřebuju totiž ošetřit, aby nebylo možné registrovat uživatele, kteří už sou zaregistrovaní.
|
||
Casero Profil |
#3 · Zasláno: 9. 8. 2006, 10:25:01
a co i nefunguje???...a proč jen neporovnáš where name==$nick?
|
||
koudi Profil |
#4 · Zasláno: 9. 8. 2006, 10:31:08
Máš zajímavý názvy proměnných.
Ono se v php dá používat toto "<>"? Já myslel, že tohle jde snad jen ve VB. |
||
Acci Profil |
#5 · Zasláno: 9. 8. 2006, 10:42:19
Radši se podívej na tohle http://php.vrana.cz/vyuziti-unikatnich-klicu-v-databazi.php
|
||
Joker Profil * |
#6 · Zasláno: 9. 8. 2006, 10:57:36
Vezmu to po odrážkách:
- používat takovéto názvy proměnných Vám vřele nedoporučuji. Stačí pár desítek řádků skriptu a při údržbě se z toho zblázníte a je to zdroj zbytečných a špatně dohledatelných chyb - Proč používáte LIKE, když chcete najít přesně stejný text? - Nedovolíte zaregistrovat druhého uživatele stejného jména, ale pokud nějakým způsobem dojde k duplicitě, dovolíte zaregistrovat třetího a dalšího? Připadá mi to nelogické. Osobně bych to napsal asi takto: $vysledek = mysql_query("SELECT * FROM tip_users WHERE name = '$nick'"); if(mysql_num_rows($vysledek) == 0){ $ok = true; } else{ $ok = false; echo("Nick už někdo používá"); } |
||
Joker Profil * |
#7 · Zasláno: 9. 8. 2006, 11:03:24
koudi
Taky jsem na to koukal, ale prej jo. Stejnětak jsem docela koukal, že funguje MySQL_Query(). Ale funguje. |
||
djlj Profil |
#8 · Zasláno: 9. 8. 2006, 11:09:42
Joker
Nejlepším řešením je nastavení unikátnosti pro nick. Pak jen stačí zjišťovat, co vrátí mysql_errno a podle toho vypsat hlášku... |
||
Joker Profil * |
#9 · Zasláno: 9. 8. 2006, 11:38:18
djlj
Je to tak. Ten můj přepis měl spíše ukázat na chyby v tom skriptu, než navrhnout jiné řešení. Jinak je ale to řešení s INSERT a unikátním sloupcem asi nejjednodušší. Ale ten sloupec bych dal unikátní každopádně. Potom není problém ani s tím mým řešením, akorát tam bude ten SELECT navíc. Jo, ještě co jsem tam přehlédl: SELECT * je zbytečný, když vpodstatě nepotřebuju vědět žádné hodnoty. Takže: "SELECT name FROM tip_users WHERE name = '$nick'" |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0