PHP-MySQLi-Database-Class icon indicating copy to clipboard operation
PHP-MySQLi-Database-Class copied to clipboard

Using LIKE with RAWQUERY

Open eduo opened this issue 1 year ago • 1 comments

Hi, there.

Been a happy user for many years but today I had the need to do a rawquery that requires like with wildcards and I just couldn't make it work.

For various reasons I need to use rawquery for this specific query, but the string to search by must match only the end of the field, so normally I'd use LIKE '%endstring'.

In Rawquery parameters are encoded by using a question mark and then an array of values replacing the question marks in order.

But doing it this way breaks here. LIKE %? will end up sent as LIKE %'endstring' and LIKE '%?' will end up completely break.

I could do something ugly like LIKE '%".$endstring."'" but this kind of defeats the purpose.

eduo avatar Nov 27 '24 21:11 eduo

If you want to escape a var, can't you do something like

$endstring = $this->db->escape( $enstring );

Then you can do LIKE '%".$endstring."'"

palsypentertainment avatar Dec 12 '24 18:12 palsypentertainment