Problém s dotazováním na databázy
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Miky0007
- Člen | 73
Napsal jsem funkci pro registraci uživatelů…Dříve fungovala normálně a najednou přestala chodit..
public function addUser($nick,$heslo,$email){
dump($nick);
if(!$this->database->table('uzivatele')->where('nick', $nick)){
$radek=$this->database->table('uzivatele')->insert(array(
'nick' => $nick,
'email' => $email,
'heslo' => md5($heslo),
'registrace'=> new DateTime(),
));
$radek1=$this->database->table('uzivatelske_role')->insert(array(
'uzivatel_id'=> $radek->id,
'uzivatelska_role_id'=> '3',
));
}
else{
throw new DuplicateNameException();
}
}\--
Problém je v tom, že funkce vždy vyhodí tuto výjimku:
throw new DuplicateNameException();
Přitom když neexistuje v tabulce uživatele registrovaný nick..Tak by ji
vyhazovat neměl…
Nenapadá někoho v čem by mohl být problém? Nějak asi přestal fungovat
tento if:
if(!$this->database->table('uzivatele')->where('nick', $nick))
Editoval Miky0007 (5. 1. 2013 16:38)
- Jan Mikeš
- Člen | 771
Tohle by teoreticky nemelo fungovat nikdy :) fetch() totiz vraci activeRow nebo false v pripade ze nenajde zadny zaznam, where vraci vzdy selection, i kdyby tam bylo 1000 zaznamo nebo 0
api: https://api.nette.org/…lection.html#… vs https://api.nette.org/…lection.html#…
Editoval Lexi (5. 1. 2013 18:14)