( SzBlackY | 2018. 06. 19., k – 13:32 )

substr(strtolower(pg_escape_literal($inp)),1,-1);

Neee...

Egyrészt nem akarod lecsapni róla a string határoló jeleket (btw, nem tudhatod, hogy egy sima ' lesz-e, lehet E'lorem\tipsum' formájú, U&'d\0061t\+000061' formájú, dollar-quoted ($$lorem ipsum$$) stb.). Azért kéred a pg_escape_literal()-t, hogy tegye oda, hogy ott legyen :) Inkább a pg_escape_literal-nak adj kapásból olyat, amiben ott vannak a % jelek (nem fogja őket escape-lni)

Másrészt az strtolower és a substr vagy multi-byte safe vagy nem (ha be van töltve az mb_* _és_ engedélyezve van, akkor felülcsapja ezeket a függvényeket, de erre nem érdemes építeni).


$inp = pg_escape_literal('%' . mb_convert_case($mb, MB_CASE_LOWER) . '%');
$where='lower(c1) like ' . $inp;

(harmadrészt _tényleg_ érdemes a full-text indexelést használni ilyen kereséseknél, kis odafigyeléssel és jó indexeléssel [a pg doksijában szépen le van írva] retek jól működik)

BlackY
--
"en is amikor bejovok dolgozni, nem egy pc-t [..] kapcsolok be, hanem a mainframe-et..." (sj)