Jak používat LIKE u staré NTDB Table

kejlicz
Člen | 201
+
0
-

Ahoj všem.
Potřebuji upravit jeden starý projekt na Nette 2.0.10. S NTDB jsem nikdy nepracoval a nevím jak vyřešit toto.
Když dám podmínku

where('klient.jmeno LIKE "%' . $kw . '%"')

tak mi to vytvoří SQL

WHERE (`klient`.`jmeno` LIKE "%`jana`%")

což kvůli těm apostrofům (ňebo jak se to jmenuje) nedělá to co chci. Jak se to má psát správně, aby ten vstup byl ošetřený, a SQL to vygenerovalo pouze

WHERE (`klient`.`jmeno` LIKE "%jana%")

Díky za radu

Martin

Petr Parolek
Člen | 455
+
0
-

Ahoj, jdeš na to úplně špatně. Navíc, takhle ti vzniká sql injection.

https://doc.nette.org/cs/database

David Matějka
Moderator | 6445
+
+3
-

pouzij parametry:

->where('klient.jmeno LIKE ?', '%' . $kw . '%')
kejlicz
Člen | 201
+
0
-

Díky moc. Tohle mě nenapadlo, ale jsem si jistý, že jsem to už takhle někde dělal :-).