Zmenenie literálu "" na '' pri SELECT-e
- Aris
- Člen | 48
Ahoj, nedokážem si vysvetliť zmenu literálov v SQL. Kvôli tomu dostávam správny SELECT pre 1 písmenový výraz, pre viac písmenové literál pribudne.
public function ajaxSearch($query)
{
bdump($query);
$result = $this->database->table("potraviny_n")
->select("*")
->where("nazov LIKE ". "'%".$query."%'");
bdump($result->getSql());
bdump($result->fetchAll());
//return $result->fetchPairs('nazov');
}
Pre 1 písmeno je všetko v poriadku
"SELECT * FROM `potraviny_n` WHERE (`nazov` LIKE '%C%')"
Pre celú query pribudol ďalší literál '', ktorý kazí príkaz.
"SELECT * FROM `potraviny_n` WHERE (`nazov` LIKE '%`Ca`%')"
Ako to okabátiť v Nette? Ďakujem :)
Editoval Aris (12. 11. 2018 20:35)
- Aris
- Člen | 48
Ďakujem za pohotovú a rýchlu odpoveď obom. Obzvlášť za opomenutie :) . Priebežne sa učím bezpečnosti. Máš prosím ťa prípadne nejaký tip, kde sa dá rozšíriť obzory o bezpečnosti v Nette okrem https://doc.nette.org/…y-protection , prípadne samotných nástrojoch ako je Purifier?