Database Core – WHERE IN([]) se nyní nepřekládá jako WHERE IN(1=1)?
- nettolog
- Člen | 68
Ahoj. V dřívější verzi mi dotaz
$this->database->query("SELECT * FROM table WHERE id IN(?))", array());
v pořádku prošel a přeložil se jako
SELECT * FROM table WHERE id IN(1=1);
Teď už se takto nepřekládá a způsobuje to syntax error na straně mysql.
Je to v pořádku? Docela se mi líbilo, že si s prázdným polem Nette
poradí. Jde o to, když dynamicky generuji pole požadovaných hodnot a
v daném případě žádná požadovaná hodnota neexistuje.
Je nějaká možnost toto globálně napravit nebo budu muset projít kód a
všude generovat tato pole s nějakou nesmyslnou hodnotou (třeba –1)?
Editoval nettolog (21. 4. 2020 22:31)
- Kamil Valenta
- Člen | 820
Já teda i v dřívějších verzích musel používat v poli nějakou „dummy“ položku [0], [-1] atp.
Takže mě naopak překvapuje, že to někomu generovalo 1=1 :)