Autor Zpráva
Figy
Profil
Ahoj...
...kdyz odesílám z formu $login ...jak musí vypadat sql dotaz, kterým ověřím, jestli už shodný $login není v db ?

myslím něco jako:

if($login = ***)
{
chyba = 1 ;
echo "Někdo už takový login má !!";
}
else {}


...co musím napsat na místo *** ??
BetaCam
Profil
Třeba

$result = mysql_query('SELECT login FROM table WHERE login = $login');


if(mysql_num_rows($result) != 0)
{
chyba = 1 ;
echo "Někdo už takový login má !!";
}
else {} 
Figy
Profil
to nefachci... vypise to ze nysql_num_rows neni validni prikaz a kdyz pred to dodelam "@" tak to neudela uz vubec nic... :(
Figy
Profil
*mysql_num_rows
djlj
Profil
vypise to ze nysql_num_rows neni validni prikaz
Spíš chyba v SQL dotazu.

kdyz pred to dodelam "@" tak to neudela uz vubec nic
Celkem logické.

Já bych každopádně nastavil v databázi na daný sloupec UNIQUE.
Jan Tvrdík
Profil
Figy
Nech vypsat mysql_error();
Figy
Profil
sloupec jako UNIQUE mam... ale ted chci, aby kdyz uz se to neulozi, tak aby to vypsalo hlasku ze uz tam nekdo takovej je... diky UNIQUE se to sice neulozi, ale nic to nevipise a chova se to jako by to ulozilo...
BetaCam
Profil
Figy
vypise to ze mysql_num_rows neni validni prikaz

Opravdu nechápu co by na něm mělo bejt nevalidního. :)
Figy
Profil
kdyz necham vypsat mysql_error(); tak to logicky vypise pouze Duplicate entry '$login' for key 2
ale ja chcu aby me to vypsalo nejakou hlasku pro navstevnika a ne aby to vyplivlo, Duplicate entry '$login for key 2 a zaroven ze je registrace hotova, coz je logicky hovadina
Jan Tvrdík
Profil
BetaCam
Akorát nechápu příkaz:
chyba = 1 ;
Nemělo tam být spíš
$chyba = 1;
BetaCam
Profil
Jan Tvrdík

Jo to nevim nejsem autorem tohoto scriptu. :)
djlj
Profil
Figy
Odchytni si mysql_errno, a podle něj se zařiď. Chyba při duplicitě je 1062.
Figy
Profil
Jan Tvrdík

jo to sem si opravil, ale spis me zajima co mam udelat, aby me to vypsalo hlasku ze takovy login uz existuje misto toho, aby me to psalo ze je registrace hotova ikdyz neni
Jan Tvrdík
Profil
Figy
Záleží, jak registrace probíhá, a jestli máš radši do-while sekvenci (jako třeba já), nebo hromadu zanořených if v sobě
DoubleThink
Profil *
Odchytni si mysql_errno, a podle něj se zařiď. Chyba při duplicitě je 1062.
Souhlasím. Píše o tom i Jakub Vrána: Přidání hodnoty do unikátního číselníku
Figy
Profil
no jo, ale co s tim mam delat ?? ...at tam napisu co tam napisu porad si to vypisuje error, ikdyz tam neni ikdyz tam je... zkousel sem menit uz vsechno vselijak a porad nevim kde je chyba... kdyz mam :

$result = mysql_query('SELECT login FROM table WHERE login = $login');

if(mysql_num_rows($result) != 0)
{
$chyba = 1 ;
echo "Někdo už takový login má !!";
}
else {} 


tak to porad hlasi ze REGISTRACE PROBEHLA USPESNE (jako kdyby $chyba = 0) ale pritom to vypise hlasku
"Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /3w/unas.cz/d/destiny-soldiers/forum/registrace.php on line 33"

a pak to jeste vyhodi mysql_error() (Duplicate entry 'DickheadFigy' for key 2) a do db se nic neulozi.
Dela si to ze me pr*el nebo co ? ...prosim, jestli nekdo vite co s tim, poradte... diky moc
BetaCam
Profil
Figy

Zkontroluj si ten SQL dotaz co máš v query. Ten co sem tam napsal já je jenom demonstrativní. Nech si vypsat mysql_error() i u mysql_query(). Jinak furt můžeš použít zde zmíněné mysql_errno.
sh00ter
Profil
Figy
jak tady nekdo uz psal, zkus dat
...
$chyba=1;
...

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: